ハイライトテスト

abstract class Accessor {
	protected function __call($name,$params) {
		if (preg_match('/(set|get)(_)?/',$name)) {
			$prefix = substr($name,0,3);
			$_name = strtolower(preg_replace('/^(set|get)(_)?/','',$name));
			if (!property_exists($this, $_name)) 
				throw new Exception("Tried to $prefix $_name. " . get_class($this) . "::$name");
			switch($prefix) {
				case 'set':
					$this->{$_name} = array_pop($params);
					return true;
				case 'get':
					return $this->{$_name};
			}
		}
		return false;
	}
}
 class Foo
   def bar'baz' # return baz
   end
 end


PHP対応してないじゃん!