codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
<? class MethodChaining { var $data = array(); function __call($name, $args) { $prefix = strtolower(substr($name, 0, 3)); $postfix = strtolower(substr($name, 3, strlen($name))); switch($prefix) { case 'get': return isset($this->data[$postfix]) ? $this->data[$postfix] : false; break; case 'set': if(!empty($args)) $this->data[$postfix] = count($args) == 1 ? $args[0] : $args; return $this; break; } } } $chain = new MethodChaining; echo $chain->setInteger(1)->getInteger(); echo $chain->setString('hello, world')->getString(); ?>
Private
[
?
]
Run code
Submit