PHP 常用魔术方法

  1. __construct() 构造函数会在每次实例化对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作
  2. __destruct() 析构函数会在某个对象的所有引用都被删除或者当对象被显式销毁时执行
  3. __set() 用于属性重载,在给不可访问的属性赋值时,__set()会被调用
  4. __get() 读取不可访问属性的值时,__get()会被调用
  5. __isset() 当对不可访问属性调用isset()或empty()时,__isset()会被调用
  6. __unset() 当对不可访问属性调用unset()时, __unset()会被调用
  7. __sleep()  serialize()检查类中是否有魔术方法__sleep(). 如果存在,该函数将在任何序列化之前运行。 它可以清除对象并返回一个包含有该对象中应序列化的所有变量名的数组
  8. __wakeup() 相反地,unserialize()检查是否具有魔术方法__wakeup()。 如果存在,此函数可以用于重建对象。
  9. __toString() 用于一个类被当成字符串时应怎样回应。 例如: 执行“ echo $obj; ” 语句时,该方法会被调用
  10. __invoke() 当尝试以调用函数的方式调用一个对象时,__invoke()方法会被自动调用。 例如, 执行”$obj();“ 语句时,该方法会被调用
  11. __clone() 如果定义了__clone()魔术方法,则新创建对象(复制生成对象)时,__clone()方法会被调用,可用于修改属性的值
  12. __call()  在对象中调用一个不可访问的方法时, __call()会被调用
  13. __callStatic() 在静态方式中调用一个不可访问的方法时
  14. __autoload() 它会在试图使用尚未被定义的类时自动调用

发表评论

电子邮件地址不会被公开。 必填项已用*标注