This article mainly introduces the definition and usage of PHP object-oriented programming classes. It analyzes the definition, instantiation, __set() and __get() of PHP classes in the form of examples. Friends in need can refer to it. The following
is as follows:
<?php class Person { private $name; private $sex; private $age; function __construct($name = "", $sex = "男", $age = 22) { $this->name = $name; $this->sex = $sex; $this->age = $age; } // 直接为私有属性赋值时自动调用,可以屏蔽一些非法赋值 // 之前有版本可以设置方法为private function __set() // The magic method __set() must have public visibility // 因为5.35对魔术方法限制的严格了 public function __set($propertyName, $propertyValue) { if ($propertyName == "sex") { if (! ($propertyValue == "男" || $propertyValue == "女")) { return; } if ($propertyValue > 150 || $propertyValue < 0) { return; } } // 根据传入的成员属性名,赋上相应的值 $this->$propertyName = $propertyValue; } // 用来获取私有属性 public function __get($propertyName) { if (isset ( $this->$propertyName )) { return ($this->$propertyName); } else { return (NULL); } } public function __isset($propertyName) { if ($propertyName == "name") { return false; // 返回假,不允许在对象外部测定这个属性 } return isset ( $this->$propertyName ); } public function __unset($propertyName) { if($propertyName=="name") { return; //不允许删除name属性 } unset($this->$propertyName); } function say() { echo $this->name . "在说话<br/>"; } function run() { echo "在走路·<br/>"; } function __destruct() { echo "goodbye" . $this->name . "<br/>"; } } $person1 = new Person (); $person2 = new Person ( "2" ); $person3 = new Person ( "3" ); // 自动调用了__set() $person1->name = "张三"; echo $person1->name; echo "<br/>"; echo $person1->say (); // 自动调用了__get() echo $person1->age; echo "<br/>"; var_dump ( isset ( $person1->name ) ); echo "<br/>"; unset($person1->name); echo "unset------------>".$person1->name;//name 没有被unset() echo "<br/>"; $person2 = null; ?>
Result:
张三 张三在说话 22 bool(false) unset------------>张三 goodbye2 goodbye3 goodbye张三
The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
PHP object-oriented programDesign classDefinition and usage simple example
php defines the method of empty object
PHP defines the method of array
The above is the detailed content of Detailed explanation of the definition and usage of PHP object-oriented programming classes. For more information, please follow other related articles on the PHP Chinese website!