加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php类中的各种拦截器用法分析

发布时间:2020-12-13 02:07:23 所属栏目:PHP教程 来源:网络整理
导读:《:php类中的各种拦截器用法分析》要点: 本文介绍了:php类中的各种拦截器用法分析,希望对您有用。如果有疑问,可以联系我们。 PHP实战 本篇章节讲解php类中的各种拦截器用法.供大家参考研究.具体用法分析如下: PHP实战 1、__get( $property )

《:php类中的各种拦截器用法分析》要点:
本文介绍了:php类中的各种拦截器用法分析,希望对您有用。如果有疑问,可以联系我们。

PHP实战本篇章节讲解php类中的各种拦截器用法.分享给大家供大家参考.具体用法分析如下:

PHP实战1、__get( $property ) 拜访未定义的属性时调用

代码如下:
class lanjie?
{?
??? function __get($name)?
??? {?
??????? echo $name." property not found! ";?
??? }?
}?

PHP实战$ob = new lanjie();?
echo $ob->g;

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();
这里最有用和最常用的的是__call(),当调用一个为存在的办法时被调用; __isset()是在对一个为定义的属性使用isset()函数时被调用,__unset是在对未定义的数以使用unset时被调用

PHP实战希望本文所述对大家的PHP程序设计有所赞助.

编程之家培训学院每天发布《:php类中的各种拦截器用法分析》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读