php -- 魔术方法 之 获取属性:__get()
发布日期:2025-05-02 03:02:27
浏览次数:13
分类:精选文章
本文共 1138 字,大约阅读时间需要 3 分钟。
属性重载:当访问一个不存在或者权限不够的属性时,能够触发一系列的魔术方法,就叫做属性重载。__get():获取不存在或者权限不够的属性时会自动触发。
'; //PHP属性重载 class Person{ //属性 public $name; protected $money; private $age; //构造方法 public function __construct($name,$money,$age){ $this->name = $name; $this->age = $age; $this->money = $money; } //增加一个魔术方法__get //__get方法必须要一个参数,需要访问的属性的名字 public function __get($name){ //var_dump($name); $allow = array('money','age'); //让用户访问 //如果用户访问的是money和tail,那么就帮助用户去访问,如果是其他返回FALSE if(in_array($name,$allow)){ //在 allow 中搜索 name,如果没有,返回false,如果有返回true return $this->name; }else{ return false; } } } //实例化 $person = new Person('马浩洋',6000,28); //访问个人信息 echo $person->name; //可以,访问公有属性 //echo $person->age; //不可以,age是私有属性,且Person类没有__get方法 //Person类增加__get方法之后 echo $person->age; //访问一个不存在的 var_dump($person->tail); 意义:
1、增加代码容错性
2、控制用户访问
转载于:https://www.cnblogs.com/hf8051/p/4654032.html
发表评论
最新留言
感谢大佬
[***.8.128.20]2026年06月11日 18时33分41秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PIL Image转Pytorch Tensor
2025-05-05
PIL&QOOT;IOERROR:带有大图像的图像文件被截断(&Q)
2025-05-05
PIL.Image、cv2的img、bytes相互转换
2025-05-05
PIL.Image进行图像融合显示(Image.blend)
2025-05-05
pilicat-dfs 霹雳猫-分布式文件系统
2025-05-05
Pillow lacks the JPEG 2000 plugin
2025-05-05
SpringBoot之ElasticsearchRestTemplate常用示例
2025-05-05
ping 全网段CMD命令
2025-05-05
ping 命令的七种用法,看完瞬间成大神
2025-05-05
Pinia入门(快速上手)
2025-05-05
Pinia:$patch的使用场景
2023-03-02
Pinia:$subscribe()的使用场景
2023-03-02
Pinpoint对Kubernetes关键业务模块进行全链路监控
2023-03-02
Pinterest 大规模缓存集群的架构剖析
2023-03-02
PinYin4j库的使用
2023-03-02
PIP
2023-03-02
pip install mysqlclient报错
2023-03-02