本文列举了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()

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

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

php中12个魔术方法的更多相关文章

  1. php中的常用魔术方法总结

    以下是对php中的常用魔术方法进行了详细的总结介绍,需要的朋友可以过来参考下 常用的魔术方法有:__Tostring () __Call() __autoLoad() __ clone() __GET ...

  2. php面向对象类中常用的魔术方法

    php面向对象类中常用的魔术方法   1.__construct():构造方法,当类被实例化new $class时被自动调用的方法,在类的继承中可以继承与覆盖该方法,例: //__construct( ...

  3. PHP 中 16 个魔术方法详解

    PHP 中 16 个魔术方法详解   前言 PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用. 魔术方法包括: __constru ...

  4. PHP中常用的魔术方法

    我们在PHP中经常用到魔术方法,像构造方法,析构方法等等魔术变量,下面总结一下一些常用的魔术变量: __construct(),__destruct(),__clone(),__autoload(), ...

  5. PHP中的常用魔术方法

    魔术方法: 是指某些情况下,会自动调用的方法,称为魔术方法 php面向对象中,提供了这几个魔术方法,他们的特点都是 以双下划线__开头的 __construct()  构造方法 __destruct( ...

  6. Python中的常用魔术方法介绍

    1.__init__ 初始化魔术方法 触发时机:初始化对象时触发(不是实例化触发,但是和实例化在一个操作中) 参数:至少有一个self,接收对象 返回值:无 作用:初始化对象的成员 注意:使用该方式初 ...

  7. PHP中的常见魔术方法功能作用及用法实例

    概述 在面向对象编程中,PHP提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利.PHP中的魔术方法通常以__(两个下划线)开始,并且不需要显示的调用而是由某种特定的条件出发. 开始之前 在总结 ...

  8. PHP中的面向对象魔术方法大全

    1.__construct  构造方法 2.__destruct  析构方法 3.__get 获取成员值 4.__set 设定成员值 5.__isset 判断成员值 6.__unset unset成员 ...

  9. php中常用魔术方法的举例

    魔术方法是php面向对象特有的功能,并且有时候能实现意想不到的效果,包括前面提到的构造函数.析构函数.还有__clone函数,另外再简单的介绍几个: 1.__toSring和__invoke clas ...

随机推荐

  1. 启动安卓模拟器报错 emulator: ERROR: x86_64 emulation currently requires hardware acceleration! CPU acceleration status:HAXM must be updated(version 1.1.1<6.0.1) 解决办法

    启动安卓模拟器报错 emulator: ERROR: x86_64 emulation currently requires hardware acceleration!  CPU accelerat ...

  2. 迷宫问题python实现(靠右手摸墙)

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang 这是大二时候的数学模型毕业课程设计,我选择了自己研究盲人穿越迷宫的问题.当然后来再在网上查了这个问 ...

  3. SDL入门教程(一):3、MinGW 下的安装与设置

    作者:龙飞 3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境.MinGW 收集了一系列免费的Windows 使用的头文件和库文件:同时整合了GN ...

  4. 购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(1)--后端

    原文:购物车Demo,前端使用AngularJS,后端使用ASP.NET Web API(1)--后端 chsakell分享了前端使用AngularJS,后端使用ASP.NET Web API的购物车 ...

  5. Android实现Live Photos 加源代码

    在Android手机上实现类似于iphone中的LivePhoto的功能 源代码分享 github:https://github.com/amazingyyc/DeepRed 代码说明: 1.改变视频 ...

  6. Java宝典(四)------Java中也存在内存泄露。

    --Java中会存在内存泄露吗? --如果你想当然的以为Java里有了垃圾回收机制就不会存在内存泄露,那你就错了. Java里也会存在内存泄露! 我们慢慢来分析. 所谓内存泄露就是指一个不再被程序使用 ...

  7. mysql用户和权限管理

    用户和权限管理 Information about account privileges is stored in the user, db, host, tables_priv, columns_p ...

  8. redis实现spring-data-redis整合

    java之redis篇(spring-data-redis整合)  博客链接网址:http://www.cnblogs.com/yjmyzz/tag/redis/ redis的知识:官网 1,利用sp ...

  9. JAVA读、写EXCEL文件

    採用jxl.jar包,网上下载,百度一下到出都是.希望能够帮助到大家. 接下来直接贴代码: <span style="font-size:18px;"> public ...

  10. 给SharePoint页面加入自己定义页脚Custom footer

    给SharePoint页面加入自己定义页脚Custom footer         在公司做站点设计项目时,须要在页面上加入页脚.         非常多人都把页脚忽视了,认为没什么多大用处,事实上 ...