|
PHP提供了几个拦截器,用于在访问未定义的方法和属性时被调用,当访问未定义的类属性时,__get($property) 会被调用,$property为被访问的属性名。当给未定义的类属性赋值时,__set($property, $value) 会被调用,$property为被赋值的属性名,$value为被赋予的值。 首先下载我们本节课程所需要用到的php中各种拦截器类库: 下载完成之后找到我们需要的php类文件,解压至我们本地目录,创建新的php文件! 完成之后,我们要在新的php文件里调用这类,以及实例化该类: <?php
include_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 ) );
?> 运行此文件,得到结果如下图所示: |