zoukankan      html  css  js  c++  java
  • PHP3个魔术方法

    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;
    

      

  • 相关阅读:
    git commit之后未submit,rebase之后找不到自己代码的处理方法
    Objective-C语言--属性和实例变量
    synthesize 与dynamic的区别
    isKindOfClass和isMemberOfClass 区别
    python 报错整理
    使用fastJson 来解析 json
    使用Gson 解析json
    android json数据解析
    Android 常用布局
    cocos2dx 学习代码记录
  • 原文地址:https://www.cnblogs.com/1500418882qqcom/p/10450192.html
Copyright © 2011-2022 走看看