zoukankan      html  css  js  c++  java
  • php中12个魔术方法

    本文列举了php面向对象当中12个魔术方法,并对此进行一一详细介绍,希望对新手有所帮助。

    1.构造方法: __construct()

    参数:自定义

    触发时机:new的一瞬间自动调用

    作用:初始化成员属性

    2.析构方法__destruct()

    参数:无

    触发时机:在对象释放的一瞬间自动调用

    作用:做收尾工作,数据库关闭连接等

    3.__get()

    参数:一个,成员属性名称

    触发时机:在类外部访问私有的受保护的或者未定义的成员属性时自动调用

    作用:控制私有的受保护的未定义的成员属性的访问

    4.__set()

    参数:两个,成员属性的名称和值

    触发时机:在类外部设置私有的受保护的未定义的成员属性时自动调用

    作用:对私有的受保护的未定义的成员属性进行赋值控制

    5.__isset()

    参数:一个参数,成员属性名称

    触发时机:在类外部调用isset和empty方法验证私有的受保护的未定义的成员属性时自动调用

    作用:对私有的受保护的未定义成员属性进行isset和empty的判断控制

    6.__unset()

    参数:一个参数,成员属性名称

    触发时机:在类外部使用unset方法对私有的受保护的成员属性进行销毁的一瞬间自动调用

    作用:对私有的受保护的成员属性进行unset销毁控制

    7.__clone()

    参数:无

    触发时机:在类外部使用clone关键字对对象进行克隆时自动调用

    作用:对克隆体进行标示

    8.__toString()

    参数:无

    触发时机:在类外部echo对象的时候自动调用

    作用:快速输出对象的内容

    注意:本方法必须返回一个字符串类型的内容

    9.__call()

    参数:两个参数,调用的不存在方法名称,第二个参数为方法的参数(数组)

    触发时机:使用对象调用一个不存在的方法自动调用

    作用:屏蔽显示的错误

    10.__autoload()

    参数:一个参数,new的类的名称

    触发时机:当new一个找不到的类或者继承的父类或者在方法体中new的找不到的类的时候自动调用

    作用:自动加载找不到的类文件

    注意:本方法是在类外部定义的

    11.__sleep()

    参数:无

    触发时机:当在类外部对对象进行串行化的一瞬间自动调用serialize()

    作用:可以对串行化的成员属性的选择进行控制

    注意:必须返回一个数组(元素:成员属性名称)

    12.__wakeup()

    参数:无

    触发时机:反串行化的一瞬间自动调用unserialize()

    作用:在唤醒时对成员属性进行控制

    注意:在反串行化时必须有类在场

  • 相关阅读:
    Mybatis使用map传递参数与模糊查询写法
    mybatis实现简单的crud
    普通maven项目导入mybatis依赖后找不到程序包(已解决)
    MarkDown语法学习
    CentOS 7 配置hadoop(一) 安装虚拟机(伪分布)
    CentOS 7 配置hadoop(二) 配置hdfs(伪分布)
    生成32个的字母加数字
    mysql 横变竖 竖变横
    Java实现短息验证
    spring+springmvc+mybatis+Redis的配置文件
  • 原文地址:https://www.cnblogs.com/xiaoping-2014/p/4079122.html
Copyright © 2011-2022 走看看