• PHP面向对象-----魔术方法


    1. __get($name)--触发时机:当调用一个不访问的成员属性的时候,会自动触发,可以利用这个方法来完成对不可调用的属性进行调用,但是不能设置值

    2. ___set($$name,$value)--触发时机:当给一个不可访问的成员属性赋值的时候,会自动触发这个方法,可以利用这个方法完成对不可以访问的属性进行赋值

    3. __isset($name)---触发时机:当使用isset()函数来判断一个对象的属性的时候,如果这个属性不存在或者不能被访问的时候会触发这个魔术方法

    4. __call($$method,$args)---触发时机:当调用一个不存在的成员方法或者是不可访问的成员访问的时候会被触发

    5. __callStatic($$method,$args)--触发时机:当调用一个不存在的成员方法或者是不可访问的成员访问的时候会被触发

    6. __unset()---触发时机:当要销毁一个不可访问的或者不存在的成员属性的时候会被调用

    7. __sleep()---触发时机:当使用serialize把对象进行序列化的时候会被触发

      public function __sleep()
      {
        return array('xxx');//指定可以被序列化的属性
      }
      
    8. __wakeup()

      触发时机:当使用unserialize的反序列化的时候会被自动触发

      public function __wakeup()
        {
      
        }
      
    9. __toString()

      触发时机:在echo一个对象的时候会被触发

      public function __toString()
        {
          return '小可爱';
        }
      
    10. __clone()
      对象复制可以通过 clone 关键字来完成(如果可能,这将调用对象的 __clone() 方法)

  • 相关阅读:
    JS编码解码详解
    web的几种返回顶部
    图片的懒加载的两种效果
    获取两个日期差
    C#虚方法
    依赖注入(DI)和Ninject
    在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的
    PetShop的系统架构设计
    C#综合揭秘——细说多线程(下)
    C# Socket编程(4)初识Socket和数据流
  • 原文地址:https://www.cnblogs.com/zhyunfe/p/6403151.html
Copyright © 2020-2023  润新知