本文演示了PHP类中各种拦截器的使用,供大家
参考,具体用法分析如下:
1、__get(美元资产)通话时未定义的
属性的访问
复制代码代码如下:类蓝杰
{
功能__get($name)
{
回声名称。未找到属性!;
}
}
OB =新Lanjie(美元);
回声$;
我们称之为未定义的属性克对象OB美元时,拦截__get()
方法被调用,和G没有找到属性输出。
2、__set(美元财产,美元的价值将值赋给属性调用未定义)
复制代码如下:类人
{
私人_age美元;
私人_name美元;
功能__set($name,美元的价值)
{
$。Ucfirst($name);
回波法;
如果(method_exists($,$方法))
{
返回$ $ > $方法($值);
}
}
功能集名称($name)
{
美元-> _name = $名称;
如果(!is_null(美元-> _name))
{
美元-> _name = strtoupper(美元-> _name);
}
}
功能setage($年龄)
{
返回这个-> _age =(int)$的年龄;
}
}
新人();
$ P ->名称=鲍勃;
print_r(阵列(P));
在这里,我们可以清楚地看到,当分配一个undefined'name、__set()之称。
其他人都__call(),(),()__unset __isset;
最有用的和最常用的部分是__call(),即当一个方法被用于存在。__isset()调用时使用isset()用于定义属性的功能,并__unset时调用未定义的数字是使用
设置。
希望本文能对大家的PHP
程序设计有所帮助。