类的外部是不能操作私有属性的,所以__set()和__get()两个魔术方法是用来存和取封装好的私有成员的。
__set() 是给私有变量设置值 __get() 是获取私有变量的值 俩函数都是自动执行
举例说明:
class car{ // 这里的变量必须为私有属性 private $width; private $height; private $model; // 设置私有属性值时自动调用 function __set($width, $value){ $this -> $width = $value; } // 获取私有属性值时自动条用 function __get($width){ return $this -> $width; } $car = new car(); // 设置值,调用__set()方法 $car -> width = "三米"; $car -> height = "一米"; // 获取值,调用__get()方法 echo $car -> width; echo $car -> height; // 输出结果 三米 一米 }