PHP类有哪些魔术方法,各有什么用途?

释放双眼,带上耳机,听听看~!
  • __construct():构造函数,每次new创建新对象时先调用方法
  • __destruct():析构函数,对象的所有引用都被删除,或者当对象被显式销毁时执行。
  • __call():在对象中调用一个不可访问方法时,__call() 会被调用。
  • __callStatic():在静态上下文中调用一个不可访问方法时,__callStatic() 会被调用。
  • __get():读取不可访问属性的值时,__get() 会被调用。
  • __set():在给不可访问属性赋值时,__set() 会被调用。
  • __isset():当对不可访问属性调用 isset()empty() 时,__isset() 会被调用。
  • __unset():当对不可访问属性调用 unset() 时,__unset() 会被调用。
  • __sleep()serialize() 序列化对象时先调用该方法,用于保存对象属性值。
  • __wakeup()unserialize() 反序列化对象时先调用该方法,用于准备对象需要的资源。
  • __toString():用于一个类被当成字符串时应怎样回应。例如 echo $obj;
  • __invoke():当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。
  • __set_state():调用 var_export() 导出类时,此静态方法会被调用。
  • __clone()使用 clone 复制对象在完成时,如果定义了 __clone() 方法,则新创建的对象(复制生成的对象)中的 __clone() 方法会被调用,可用于修改属性的值(如果有必要的话)。
  • __debugInfo()var_dump()对象时调用。
  • 给TA打赏
    共{{data.count}}人
    人已打赏
    php笔记

    PHP rand和mt_rand的区别?

    2020-3-26 10:27:13

    php笔记

    PHP接口和抽象类有什么区别?

    2020-3-26 11:28:41

    0 条回复 A文章作者 M管理员
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索