PHP提供了几个拦截器,用于在访问未定义的方法和属性时被调用,当访问未定义的类属性时,__get($property) 会被调用,$property为被访问的属性名。当给未定义的类属性赋值时,__set($property, $value) 会被调用,$property为被赋值的属性名,$value为被赋予的值。
首先下载我们本节课程所需要用到的php中各种拦截器类库:http://www.gaodaima.com/xiazai/leiku/625
下载完成之后找到我们需要的php类文件,解压至我们本地目录,创建新的php文件!
完成之后,我们要在新的php文件里调用这类,以及实例化该类:
<?phpinclude_once "dingyi.php";//引入类文件$ob = new lanjie(); //实例化//当我们调用对象$ob未定义的属性g时,调用拦截器__get()方法,输出"g property not found!”;echo $ob->g;echo "<br>";$p = new person(); //实例化$p->name = 'bob';//这里我们可以很清楚的看到 , 当给未定义的'name'赋值时 , 会调用"__set()”print_r( array( $p ) );?&g<b>/本文来源gao@!dai!ma.com搞$$代^@码5网@</b><strong>搞代gaodaima码</strong>t;
运行此文件,得到结果如下图所示:
以上就是php中如何实现各种拦截器的思路的详细内容,更多请关注搞代码gaodaima其它相关文章!