在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1. __construct 具有构造函数的类会在每次创建新对象时先调用此方法;初始化工作执行。
<?php class a { private $name = 'wang san'; //设置私有属性 public function __set($a,$val){ echo "属性:'$a' 值: '$val' 在直接设置私有属性值的时候,自动调用了这个__set()方法为私有属性赋值\n"; $this->$a = $val; } //获取私有属性 public function __get($a){ echo "属性:'$a' 在直接获取私有属性值的时候,自动调用了这个__get()方法\n"; return $this->$a; } /** 当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。*/ public function __isset($name) { echo "是否设置 '$name' 值?\n"; return isset($this->$name); } /** 当对不可访问属性调用 unset()会被调用。*/ public function __unset($name) { echo "销毁私有变量 '$name' 时调动"; unset($this->$name); } /* 方法用于一个类被当成字符串时应怎样回应 */ public function __toString() { return $this->name; } } $test = new a(); echo $test.'<br>'; // 输出:wang san __toString()方法用于一个类被当成字符串时应怎样回应 $test->name = "中国人"; echo $test->name; //输出 中国人 因为使用了魔术方法 __get 和 __set var_dump(isset($test->name)); //返回 true var_dump(empty($test->name)); //返回 false unset($test->name); //销毁时;自动调用__unset var_dump($test->name); //报错;未定义 Undefined property: a::$name
|
2022-08-12
2022-08-18
2022-08-17
2022-11-06
2022-08-17
请发表评论