魔术方法在 PHP 中以两个下划线开头的方法 , __construct(), __destruct (), __call(), __callStatic(),__get(), __set(), __isset(), __unset (), __sleep(), __wakeup(), __toString(), __set_state,() __clone() __autoload()等 , 被称为"魔术方法"(Magic methods) 。
集合涵义在PHP中以两个下划线开头的方法 , __construct(), __destruct (), __call(), __callStatic(),__get(), __set(), __isset(), __unset (), __sleep(), __wakeup(), __toString(), __set_state,() __clone() __autoload()等 , 被称为"魔术方法"(Magic methods) 。如果希望PHP调用这些魔术方法 , 首先必须在类中定义 , 否则PHP不会执行未创建的魔术方法 。注意:PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法 。所以在定义类方法时 , 除了上述魔术方法 , 建议不要以 __ 为前缀 。包含成员__set()简介:当程式试图写入一个不存在或者不可见的成员变数时 , PHP就会执行__set()方法 。__set()方法包含两个参数 , 分别表示变数名称和变数值 , 两个参数都不可省略 。实例1:<?phpclass SportObject{ private $type=''; public function __get($name){ if(isset($this->$name)){ echo'变数'.$name.'的值为:'.$this->$name.'<br>'; }else{ echo'变数'.$name.'未定义 , 初始化为0<br>'; $this->$name=0; } } public function __set($name,$value){ if(isset($this->$name)){ $this->$name=$value; echo'变数'.$name.'赋值为:'.$value.'<br>'; }else{ $this->$name=$value; echo'变数'.$name.'被初始化为:'.$value.'<br>'; } }} $MyComputer=newSportObject(); $MyComputer->type='DIY'; $MyComputer->type;?>例1输出结果为:变数type赋值为:DIY变数type的值为:DIY__get()简介:当程式试图调用一个未定义或不可见的成员变数时 , 可以通过__get()方法来读取变数值 。__get()方法有一个参数 , 表示要调用的变数名 。实例2:<?phpclass SportObject{ private $type=''; public function__get($name){ if(isset($this->$name)){ echo'变数'.$name.'的值为:'.$this->$name.'<br>'; }else{ echo'变数'.$name.'未定义 , 初始化为0<br>'; $this->$name=0; } } public function __set($name,$value){ if(isset($this->$name)){ $this->$name=$value; echo'变数'.$name.'赋值为:'.$value.'<br>'; }else{ $this->$name=$value; echo'变数'.$name.'被初始化为:'.$value.'<br>'; } }} $MyComputer=newSportObject(); $MyComputer->name;?>
- 去皱面膜自制方法
- 扁桃体发炎的症状和治疗方法
- 鱼子酱营养价值及食用方法
- 地理信息系统原理与方法
- 决明子的功效与作用及食用方法
- 百日咳治疗方法偏方
- 蛋清去黑头的方法
- 颈椎病食疗方法
- 体癣最好治疗方法
- 精华油的正确使用方法