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;
    

      

  • 相关阅读:
    关于代码片段
    感谢visual studio(git插件)救我一命
    SRX一些配置命令
    .NET Core Policy和Claim
    .NET Core Identity 用户管理和策略
    .NET Core基础配置、注册服务、中间件、ViewComponent、DbContext
    table非常细边框
    js数字转大写金额
    蓝牙开发
    Laravel artisan 命令
  • 原文地址:https://www.cnblogs.com/1500418882qqcom/p/10450192.html
Copyright © 2011-2022 走看看