1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP 特殊方法 __set()、__get()

作者:用户 来源:互联网 时间:2017-12-01 20:27:45

方法

PHP 特殊方法 __set()、__get() - 摘要: 本文讲的是PHP 特殊方法 __set()、__get(), <?php header("Content-type: text/html; charset=utf-8"); class person{ //成员属性 private $name;

 <?php    header("Content-type: text/html; charset=utf-8");     class person{        //成员属性        private $name;        private $age = 20;        //成员方法        function username($name){            return $this->name=$name;        }        //__set()方法用来设置私有属性        function __set($property_name, $value) {         echo "在直接设置私有属性值的时候,自动调用了这个 __set() 方法为私有属性赋值<br />";        $this->$property_name = $value;         }         //__get()方法用来获取私有属性        function __get($property_name) {          echo "在直接获取私有属性值的时候,自动调用了这个 __get() 方法<br />";        }    }    $obj= new person();    echo $obj->username("张三");    echo "<hr/>";    $obj->name = "李四";//在直接设置私有属性值的时候,自动调用了这个 __set() 方法为私有属性赋值    echo "<hr/>";    echo $obj->age;//在直接获取私有属性值的时候,自动调用了这个 __get() 方法,不设置get特殊方法就会报下面的错    //echo $obj->age;//当成员属性或者方法前有private修饰,不能在类外访问。否则报错如下    /*     Fatal error: Cannot access private property person::$age in D:/wamp/www/ajax/index.php on line 23    */?>

 

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索方法 ,以便于您获取更多的相关知识。