PHP拦截器实例分析
PHP提供了在访问未定义的方法和属性时调用的几个拦截器,如下所示:
1、__get(美元资产)
函数:访问未定义的属性称为
2、__set(美元财产,美元的价值)
函数:在为未定义的属性设置值时调用。
3、__isset(美元资产)
功能:当未定义的属性称为isset()
4、__unset(美元资产)
功能:当未定义的属性叫做unset()
5、__call($方法,arg_array美元)
函数:当未定义的方法被调用时调用。
下面将用一个小程序解释这些拦截器的使用:
复制代码代码如下:类intercept_demo {
私人刑名之= 美元;
私人$年龄= 10;
如果访问未定义的属性,则相应的方法调用get { }属性}
功能__get(美元财产){
方法获取属性};
如果(method_exists($,$法)){
返回$ $ > $ $方法();
}
}
如果您给出了未定义的属性值,则对应的设置属性}方法调用
功能__set(美元财产价值){
$设置{属性};
如果(method_exists($,$法)){
返回$ $ > $方法($值);
}
}
如果属性 /呼吁未定义的用户的设置方法,
功能__isset(美元财产){
$方法= 设置属性} { $ ;
如果(method_exists($,$法)){
返回$ $ > $ $方法();
}
}
如果属性 /呼吁未定义的用户的设置方法,
是将财产} { $ / /调用相应的方法
功能__unset(美元财产){
方法=取消美元财产} { $ ;
如果(method_exists($,$法)){
返回$ $ > $ $方法();
}
}
功能__call($方法,arg_array美元){
如果(substr(合法、0.3)= =得到){
美元财产= substr(合法,3);
资产= strtolower美元(substr(美元财产,0,1))。Substr(美元的财产,1);
返回$这个$ $属性;
}
}
功能testisset(){
返回isset(美元->名称);
}
功能getName(){
返回这个->兴明;
}
功能集名称(美元值){
美元->兴明=价值;
}
功能issetname(){
返回!is_null(美元->兴明);
}
功能unsetname(){
美元->兴明= null;
}
}
截距=新intercept_demo(美元);
将属性名设置为;
$;
;
回声isset(名称)= { $拦截-> testisset()};
;
空属性名称值;
unset($拦截->名称);
;
;
回声调用未定义getAge功能;
回声年龄= { $拦截-> getAge()};
希望本文能对大家的PHP程序设计有所帮助。