PHP中的魔术方法及魔术方法触发时机

PHP中的魔术方法的触发时机

  1. __get($name)

    • 当调用一个不可访问的成员属性的时候,会自动触发。可以利用这个方法来完成对不可调用的属性进行调用,但是不能设置值

      public class __get($name)
        {
          
        }
      

  2. __set($name,$lue)

    • 当给一个不可访问的成员属性赋值的时候,会自动触发。可以利用这个方法完成对不可以访问的属性进行赋值

      public class __set($name,$lue)
        {
          
        }
      

  3. __isset($name)

    • 当使用isset函数来判断一个对象的属性的时候,如果这个属性不存在或者不可访问的时候,会触发这个方法

      public class __isset($name)
        {
          
        }
      

  4. __call($method,$args)

    • 当对象调用一个不可访问的成员方法或者不存在的成员方法时会被触发

      public class __call($method,$args)
        {
          
        }
      

  5. __callStatic($method,$args)

    • 当调用一个不可访问的静态成员方法或者不存在的静态成员方法时会被触发

      static public class __call($method,$args)
        {
          
        }
      

  6. __unset

    • 当要销毁不存在的成员属性或者不可以访问的成员属性的时候,会被触发

      public function __unset()
      {
        
      }
      
      
      

  7. __sleep()

    • 当用serialize 把对象进行序列化的时候,会被触发。

      public function __sleep()
        {
          
        }
      

  8. __weakup()

    • 当用unserialize 把对象进行反序列化的时候,会被触发。

      public function __wakeup()
      {
        
      }
      

  9. __toString

    • echo 一个对象的时候,会触发

      public function __toString()
      {
         return '小可爱';
      }
      

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,854评论 0 11
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 4,711评论 1 114
  • 1 上次去朋友家玩时,被妥妥的洒了狗粮。朋友青青和老公超是朋友介绍认识的,起初两人都互相端着,你不低头,我亦不低头...
    时贰婳阅读 681评论 6 13