zoukankan      html  css  js  c++  java
  • php的魔术方法

    __construct() 构造函数

    __destruct() 析构函数

    __call() 调用不存在的方法时调用

    __callStatic()  静态函数里面调用不存在的方法时调用

    __get() 对未定义的变量赋值时调用

    __set() 读未定义的变量时调用

    __isset() 对未定义的变量执行isset()时调用

    __unset() 对未定义的变量执行unset()时调用

    __toString() 允许以调用字符串的方法调用对象

    __invoke()  允许以调用函数的方法调用对象

    __set_state() 执行var_export返回的内容

    __clone() 对象完全复制

    使用情况:如果对象A中保存着对象B的引用,当你复制对象A时,你想其中使用的对象不再是对象B而是B的一个副本,那么 你必须得到对象A的一个副本。

    __sleep() __wakeup()

    serialize() 函数执行前会检查是否存在一个魔术方法 __sleep().如果存在,__sleep()方法会先被调用, 然后才执行序列化操作。这个功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组。如果该方法不返回任何内容,则NULL被序列 化,并产生 一个E_NOTICE错误。 __sleep()方法常用于提交未提交的数据,或类似的清理操作。同时,如果你有一些很大的对象, 不需要全部保存,这个功能就很好用。

    与之相反,unserialize()会检查是否存在一个__wakeup()方法。如果存在,则会先调用 __wakeup方法,预先准备对象需要的资源。__wakeup()经常用在反序列化操作中,例如重新建立数据库连接,或执行其它初始化操作

  • 相关阅读:
    Linux 下C语言 指针学习 二 (数组与指针)
    在VMware虚拟机下访问外网的方法
    网站性能优化
    SEO优化
    前端开发组织结构及文件命名
    自适应网页设计的方法
    c#实现microsoft账号登入授权(OAuth 2.0)并获取个人信息
    twitter 授权过程
    应用facebook .net sdk
    第三方账号登入
  • 原文地址:https://www.cnblogs.com/xingmeng/p/2934870.html
Copyright © 2011-2022 走看看