PHP@phpで良く使うsetter,getter
<?php function ValueContainer() { return new ValueContainer(); } class ValueContainer { /** * values */ private $_values = Array(); /** * call */ public function __call($name,Array $arguments) { count($arguments) and $arguments = array_shift($arguments) $this->_values[$name] = $arguments; return $this; } /** * get */ public function __get($name) { return $this->_values[$name]; } } ?>
んで、こんな感じに使う
<?php $val = ValueContainer() ->id('a') ->pass('b'); echo $val->id . PHP_EOL; echo $val->pass . PHP_EOL; ?>
こんな感じで良くクラスのインタフェースを作るかなぁ