zoukankan      html  css  js  c++  java
  • 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() 方法)

  • 相关阅读:
    C# 6.0 新特征 Demo
    SmartGit 试用过期
    .net版Git Server --- bonobo
    线程操作若干(复习)
    异步的两种写法: async 与 BeginInvoke
    winform 防止主界面卡死
    wcf 出现 IsContentTypeSupported 错误
    NodeJs 实时压缩 项目js文件
    Excel 公式(细节若干)
    itextSharp 对pdf的每个页面添加footer/header
  • 原文地址:https://www.cnblogs.com/zhyunfe/p/6403151.html
Copyright © 2011-2022 走看看