💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
实际应用中,经常会把类的属性设置为私有(private),那么需要对属性进行访问时,就会变得麻烦。虽然可以将对属性的访问写成一个方法来实现,但 PHP 提供了一些特殊方法来方便此类操作。 \_set() 方法用于设置私有属性值;在类里面使用了 \_\_set() 方法后,当使用 $p1->name = "张三"; 这样的方式去设置对象私有属性的值时,就会自动调用 \_\_set() 方法来设置私有属性的值。 ~~~ function __set($property_name, $value) { $this->$property_name = $value; } ~~~ \_get() 方法用于获取私有属性值 ~~~ function __get($property_name, $value) { return isset($this->$property_name) ? $this->$property_name : null; } ~~~ \_isset() 方法用于检测私有属性是否被设置;如果对象里面成员是公有的,可以直接使用 isset() 函数。如果是私有的成员属性,那就需要在类里面加上一个 \_\_isset() 方法: ~~~ private function __isset($property_name) { return isset($this->$property_name); } ~~~ \_unset() 方法用于删除私有属性;同 isset() 函数一样,unset() 函数只能删除对象的公有成员属性,当要删除对象内部的私有成员属性时,需要使用\_\_unset() 方法: ~~~ private function __unset($property_name) { unset($this->$property_name); } ~~~