如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
面型对象的特性
- 封装性
- 继承性
- 多态性
3p
- public 公共的
- private 私有的
- protected 受保护的
魔术方法(自动调用,自动触发)
__set($key,$value)
给非公有的属性赋值时,自动调用,并且把属性名称和要赋的值 作为第1个和第2个参数传入
class Car
{
private $name;
public function show(){
echo "this is a ".$this->name;
}
public function __set($key,$value){
$this->$key = $value;
}
}
$bm = new Car;
$bm -> name ="宝马";//如果不定义__set方法,会报错
$bm -> show();
__get($key)
使用非公有的属性时自动调用,并且把属性名传入,
public function __get($key)
{
echo $this ->$key;
}
$bm->name;
__isset()
当对非公有属性 调用isset/empty函数是自动调用
public function __isset($key)
{
echo $this->$key;
echo "存在";
}
public function __unset($key)
{
echo $this->$key;
echo "我是删除";
}
//外部不存在,内部存在
if(isset($a -> b)){
echo "存在";
}else{
echo "不存在";
}
__unset()
当对非公有属性 调用unset函数是自动调用