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()
作用:在唤醒时对成员属性进行控制
注意:在反串行化时必须有类在场
php中12个魔术方法的更多相关文章
- php中的常用魔术方法总结
以下是对php中的常用魔术方法进行了详细的总结介绍,需要的朋友可以过来参考下 常用的魔术方法有:__Tostring () __Call() __autoLoad() __ clone() __GET ...
- php面向对象类中常用的魔术方法
php面向对象类中常用的魔术方法 1.__construct():构造方法,当类被实例化new $class时被自动调用的方法,在类的继承中可以继承与覆盖该方法,例: //__construct( ...
- PHP 中 16 个魔术方法详解
PHP 中 16 个魔术方法详解 前言 PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用. 魔术方法包括: __constru ...
- PHP中常用的魔术方法
我们在PHP中经常用到魔术方法,像构造方法,析构方法等等魔术变量,下面总结一下一些常用的魔术变量: __construct(),__destruct(),__clone(),__autoload(), ...
- PHP中的常用魔术方法
魔术方法: 是指某些情况下,会自动调用的方法,称为魔术方法 php面向对象中,提供了这几个魔术方法,他们的特点都是 以双下划线__开头的 __construct() 构造方法 __destruct( ...
- Python中的常用魔术方法介绍
1.__init__ 初始化魔术方法 触发时机:初始化对象时触发(不是实例化触发,但是和实例化在一个操作中) 参数:至少有一个self,接收对象 返回值:无 作用:初始化对象的成员 注意:使用该方式初 ...
- PHP中的常见魔术方法功能作用及用法实例
概述 在面向对象编程中,PHP提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利.PHP中的魔术方法通常以__(两个下划线)开始,并且不需要显示的调用而是由某种特定的条件出发. 开始之前 在总结 ...
- PHP中的面向对象魔术方法大全
1.__construct 构造方法 2.__destruct 析构方法 3.__get 获取成员值 4.__set 设定成员值 5.__isset 判断成员值 6.__unset unset成员 ...
- php中常用魔术方法的举例
魔术方法是php面向对象特有的功能,并且有时候能实现意想不到的效果,包括前面提到的构造函数.析构函数.还有__clone函数,另外再简单的介绍几个: 1.__toSring和__invoke clas ...
随机推荐
- C语言编程时常犯十八个错误
C语言的最大特点是:功能强.使用方便灵活.C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经 ...
- Netbeans7.4+Weblogic11g+Spring3.2.4操作JdbcTemplate
第一步:在Weblgic11g管理界面:http://localhost:7001/console 中建立数据源,我建立的jndi名称为:sjsstjndi 第二步:需要导入spring的以下包:使用 ...
- android 登录界面
http://blog.csdn.net/jiabinjlu/article/details/6920967 http://blog.csdn.net/myserverthepeople/articl ...
- poj2505-A multplication game
题意:两个人轮流用2~9来乘n,使n不断扩大,n开始为1.当给一个固定值k,谁先使n超过k谁赢. 分析:能到达必败态的状态为必胜态,只能到达必胜态的状态为必败态.对于给定的k,n>=k时为必败态 ...
- 设置EntityFramework 在开发时自动更新数据库
1. NuGet 下载EntityFramework. 2. 定义Context 和 打开NuGet 命令 执行 Enable-Migrations , Libaray.DAL.Migrations. ...
- PowerShell_零基础自学课程_8_高级主题:WMI对象和COM组件
本系列文章从最初的初识开始,基本上可以完成一些简单的系统管理了,为了更方便的管理系统,同时为了更好的发掘系统的性能,就需要用到系统提供 的一些高级特性,在Windows Server系列的OS中,如果 ...
- QWidget: Must construct a QApplication before a QPaintDevice的问题
卧槽,无意中编译自己基于Qt创建的Debug工程的时候运行时发生了标题中的错误,原来是把Qt Release的库也放到additional dependencies里面了,同时链接了Debug和Rel ...
- POJ3630——简单Trie树
这个题的意思是说,给出一些字符串,判断是否有字符串是另一个字符串的前缀,当然可以用排序水过,不过这个题拿来练习一下Trie树不错. 这个题在poj的discuss上好多人说必须要静态建树,估计都是用了 ...
- 【HDU 4738 Caocao's Bridges】BCC 找桥
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4738 题意:给定一个n个节点m条边的无向图(可能不连通.有重边),每条边有一个权值.判断其连通性,若双 ...
- UVa10653.Prince and Princess
题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...