找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 39|回复: 0

[php] PHP魔术方法之 __set() 方法详解

[复制链接] IP属地:广东省广州市
发表于 2023-4-17 23:10:35 | 显示全部楼层 |阅读模式
PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。
其中__set(),设置一个类的成员变量时调用
__set() 的作用:
__set( $property, $value )` 方法用来设置私有属性, 给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值。
请看下面的演示代码:

  1. <?php
  2. class Person
  3. {
  4.     public $sex;
  5.     private $name;
  6.     private $age;
  7.     public function __construct($name="",  $age=25, $sex='男')
  8.     {
  9.         $this->name = $name;
  10.         $this->age  = $age;
  11.         $this->sex  = $sex;
  12.     }
  13.     /**
  14.      * @param $content
  15.      *
  16.      * @return bool
  17.      */
  18.     public function __isset($content) {
  19.         echo "当在类外部使用isset()函数测定私有成员{$content}时,自动调用<br>";
  20.         echo  isset($this->$content);
  21.     }
  22. }

  23. $person = new Person("小明", 25); // 初始赋值
  24. echo isset($person->sex),"<br>";
  25. echo isset($person->name),"<br>";
  26. echo isset($person->age),"<br>";
复制代码

运行结果:
  1. 我叫小红,今年16岁了
复制代码
以上就是PHP中__set()方法详解的详细内容

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|西兴社区 ( 蜀ICP备2022005627号 )|网站地图

GMT+8, 2024-9-17 04:18 , Processed in 0.649289 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表