为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
PHP


<?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 />";        }    }    $objnew 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    */?>


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消