PHP4中已经有了重载的语法来确立对于外界对象模型的映照,好似Java和COM那样.
PHP5带给了刚劲的面向对象重载,允许程序员建设构造自定义的一言一行来访谈属性和调用方法.重载能够经过__get,
__set, and __call多少个特别情势来实行.
当Zend引擎试图访谈多个成员并不曾找届时,PHP将会调用这一个方法.在例6.14中,__get和__set代替所有对质量变量数组的访谈.
假使须要,你能够兑现任何项目你想要的过滤. 举例,脚本能够禁绝设置属性值,
在始发时用自然的前缀或带有一定类型的值.__call方法求证了您如何调用未经定义的方法.
你调用未定义方法时,方法名和办法选择的参数将会传给__call方法,
PHP传递__call的值重返给未定义的方法.Listing 6.14 User-level
overloadingproperties[$property_name])) {
return($this->properties[$property_name]); } else { return; } }
function __set($property_name, $value) {
$this->properties[$property_name] = $value; } function
__call($function_name, $args) { print(“Invoking $function_name;
print; print_r; } } $o = new Overloader
给四个不设有的习性别变化量赋值,激活__set() $o->dynaProp = “Dynamic
Content”; //invoke __get print($o->dynaProp . “
n”); //invoke __call $o->dynaMethod; ?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注