php类中的各种拦截器用法分析
《:php类中的各种拦截器用法分析》要点: PHP实战本篇章节讲解php类中的各种拦截器用法.分享给大家供大家参考.具体用法分析如下: PHP实战1、__get( $property ) 拜访未定义的属性时调用
代码如下:
class lanjie?
{? ??? function __get($name)? ??? {? ??????? echo $name." property not found! ";? ??? }? }? PHP实战$ob = new lanjie();? PHP实战当我们调用对象$ob未定义的属性g时,调用拦截器__get()办法,输出"g property not found!”; PHP实战2、__set( $property,$value ) 给未定义的属性调用时赋值
代码如下:
class person?
{? ??? private $_age;? ??? private $_name;? ??? function __set($name,$value)? ??? {? ??????? $method = "set".? ucfirst($name);? ??????? echo $method;? ??????? if(method_exists($this,$method) )? ??????? {? ??????????? return $this->$method( $value );? ??????? }? ??? }? ????? ??? function setName( $name )? ??? {? ??????? $this->_name = $name;? ??????? if( !is_null($this->_name) )? ??????? {? ??????????? $this->_name = strtoupper($this->_name);? ??????? }? ??? }? ??? function setAge( $age )? ??? {? ??????? return $this->_age = (int)$age;? ??? }? }? ? $p = new person();? $p->name = 'bob';? print_r( array( $p ) ); PHP实战这里我们可以很清楚的看到,当给未定义的'name'赋值时,? 会调用"__set()” PHP实战其他的还有 __call(),__isset(),__unset(); PHP实战希望本文所述对大家的PHP程序设计有所赞助. 编程之家培训学院每天发布《:php类中的各种拦截器用法分析》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |