第十一重装11

第十一重装11
在PHP4,重载语法已建成地图外部对象模型,就像java和com。PHP5带来了强大的面向对象的重载,允许程序员创建自定义的行为来访问属性和调用方法。

拥挤的交通可以通过一些特殊的方法如__get,__set做,和__call。当Zend引擎试图访问一个成员未能找到它,PHP将调用这些方法。

在例6.14中,__get和__set替换属性变量数组的所有访问。如果有必要,您可以实现任何类型的过滤。例如,脚本可以禁止设置属性值,并从一些前缀开始,或者包含某种类型的值。

的__call方法向你展示了如何调用未定义的方法。当你调用未定义的方法,这方法接收将被传递到__call方法名称的参数,并通过PHP __call值返回到未定义的方法。

清单6.14用户级重载

类的重载
{
私有$ =数组();

功能__get($ property_name)
{
如果(isset(美元->性能{ $ property_name }))
{
收益(美元->性能{ $ property_name });
}
其他的
{
返回(null);
}
}

功能__set(property_name美元,美元的价值)
{
美元->性能{ $ property_name } =价值;
}

功能__call(function_name美元,一美元)
{
打印(调用function_name美元()

打印(参数:);
print_r(合一);

返回(true);
}
}
$ O =新的重载();

/ /调用__set()分配一个属性变量不存在,__set(激活)
$ O -> dynaprop =动态内容;

/ /调用__get激活__get()()
打印($ O -> dynaprop。


/ /调用__call激活__call()()
$ O -> dynamethod(列昂
>

tag:重装电脑软件

相关内容