[ create a new paste ] login | about

Link: http://codepad.org/Tsqig92W    [ raw code | output | fork ]

kirrie - PHP, pasted on Jan 31:
<?
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();
?>


Output:
1
1hello, world


Create a new paste based on this one


Comments: