PHP类中各种拦截器的使用分析

本文演示了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程序设计有所帮助。