首页 > Web开发 > 详细

PHP3个魔术方法

时间:2019-02-28 14:49:30      阅读:147      评论:0      收藏:0      [点我收藏+]

1、__toString()转换字符串

执行时机:在对象被当成字符串使用时自动执行

功能作用:兼容对象的字符串调用形式,根据用户需求显示出对象的字符串形态

例:

class Person{
   public $name;
   public $age;
   public function __construct($name,$age){
       $this->name = $name;
       $this->age = $age;
   }

   public function __toString(){
       return $this->name;
   }
}


$p1 = new Person(‘张三‘,20);
echo $p1.‘你好‘;

  

2、__invoke()函数调用方法

执行时机:在对象被当成函数使用时自动执行

功能作用:兼容对象的函数调用形式,允许用户像使用函数一样使用对象

例:

class Person{
   public $name;
   public $age;
   public function __construct($name,$age){
       $this->name = $name;
       $this->age = $age;
   }

   public function __invoke(){
       echo "姓名:$this->name,年龄:$this->age";
   }
}


$p1 = new Person(‘张三‘,20);
$p1();

  

3、__clone()克隆方法

执行时机:在克隆(clone)对象时自动执行

功能作用:在克隆对象时可以同时执行一些其它操作,甚至可以阻止对象被克隆

例:

class Person{
   public $name;
   public $age;
   public function __construct($name,$age){
       $this->name = $name;
       $this->age = $age;
   }

   public function __clone(){
       echo "克隆克隆";
   }
}


$p1 = new Person(‘张三‘,20);
$p2 = clone $p1;

  

PHP3个魔术方法

原文:https://www.cnblogs.com/1500418882qqcom/p/10450192.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!