黑马程序员技术交流社区
标题: 一网打尽常用的PHP魔术方法 [打印本页]
作者: huawei 时间: 2016-10-7 12:01
标题: 一网打尽常用的PHP魔术方法
本帖最后由 huawei 于 2017-3-5 11:10 编辑
什么是魔术方法?我们举例说明!
1)__autoload() :当程序实例化某个类,而该类没有在当前文件中被引入。此时会触发执行__autoload()。程序希望通过该方法,自动引入这个类文件。该方法有一个参数,即就是那个忘记引入的类的名称。__autoload()方法的工作原理是什么?当程序执行到实例化某个类的时候,如果在实例化前没有引入这个类文件,那么就自动执行__autoload()函数。这个函数会根据实例化的类的名称来查找这个类文件的路径,当判断这个类文件路径下确实存在这个类文件后,就执行include或者require来载入该类,然后程序继续执行,如果这个路径下不存在该文件时就提示错误。使用自动载入的魔术函数可以不必要写很多个include或者require函数。
2)__construct() :这个是魔术构造方法。构造方法是实例化对象的时候自动执行的方法,作用就是初始化对象。该方法可以没有参数,也可以有多个参数。如果有参数,那么new这个对象的时候要记得写上相应的参数。在php5以前,没有魔术构造方法,普通构造方法是一个跟类名同名的方法来实现构造的。如果一个类中既写了魔术构造方法,又定义了普通构造方法。那么php5以上版本中,魔术方法起作用,普通构造方法不起作用。反之,在php5以前版本中,不认识魔术构造方法,只是把该方法当做普通的方法。
3)__destruct() :这个是魔术析构方法。析构方法的作用和构造方法正好相反,是对象被销毁时被自动调用的,作用是释放内存。析构方法没有参数。
4)__call() :当程序调用一个不存在或不可见的成员方法时,自动触发执行__call()。它有两个参数,分别是未访问到的方法名称和方法的参数。而第二个参数是数组类型。
5)__get() :当程序调用一个未定义或不可见的成员属性时,自动触发执行__get()。它有一个参数,表示要调用的属性的名称。
6)__set():当程序试图写入一个不存在或不可见的成员属性时,PHP就会自动执行__set()。它包含两个参数,分别表示属性名称和属性值。
7)__tostring() :当程序使用echo或print输出对象时,会自动调用该方法。目的是希望通过该方法将对象转化为字符串,再输出。__tostring() 无参数,但是该方法必须有返回值。
8)__clone() :当程序clone一个对象的时候,能触发__clone()方法,程序希望通过这个魔术方法实现:不仅仅单纯地克隆对象,还需要克隆出来的对象拥有原来对象的所有属性和方法。
作者: kevin_bj 时间: 2016-10-29 11:34
666666666666666
作者: eddies 时间: 2016-11-2 09:36
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
作者: 小小海 时间: 2016-11-10 19:39
ewydgiwqejiw
作者: 15050187118 时间: 2016-11-11 09:37
测试......
作者: 7257242 时间: 2016-11-12 11:08
6666666666666
作者: 782934029 时间: 2016-11-14 10:08
6666666666666666666666666666
作者: jason_QS 时间: 2016-11-18 23:06
PHP魔术方法
作者: 夜歌行 时间: 2016-11-20 16:02
12222222222222222222222222222222
作者: ysp110 时间: 2016-11-22 10:40
至今不知道怎么用!
作者: qq332984152 时间: 2016-11-23 01:03
1615615615165165
作者: ch123cn 时间: 2016-11-25 17:41
RE: 一网打尽常用的PHP魔术方法
作者: xxt598316205 时间: 2016-11-29 14:53
666666666666666666666666666
作者: hp_eckj_luox 时间: 2016-12-12 15:00
一网打尽常用的PHP魔术方法 [修改]
作者: Rakishly 时间: 2016-12-14 18:05
常用的PHP魔术方法 [修改]
作者: xw1985520 时间: 2016-12-17 17:03
qsqwrqwrqereqrqerqweqwew
作者: 踏上PHP征程 时间: 2016-12-18 13:26
学习一下 谢谢 嘻嘻嘻
作者: 踏上PHP征程 时间: 2016-12-18 13:29
学习一下 谢谢 嘻嘻嘻
作者: 肖肖肖 时间: 2016-12-18 23:31
谢谢分享!!!
作者: qq274805539 时间: 2016-12-19 09:00
楼主牛逼
作者: fanphp 时间: 2016-12-24 10:18
谢谢楼主分享
作者: www6688w 时间: 2016-12-27 11:44
人员和他人复合肥
作者: VC丶万人敬仰 时间: 2017-1-3 16:35
6666666666666666666
作者: LEEJUN 时间: 2017-1-5 11:23
66666666666666666666
作者: 问题先生 时间: 2017-1-15 21:27
学习PHP中
作者: ZachLin 时间: 2017-1-19 14:06
一网打尽常用的PHP魔术方法
作者: PHPjava 时间: 2017-1-21 10:41
dddddddddddddddddddddddddddd
作者: 1317181388 时间: 2017-2-3 00:40
感谢楼主分享
作者: 逗号先生 时间: 2017-2-8 14:28
的点点滴滴多
作者: 初丁多指教 时间: 2017-2-11 12:10
谢谢分享
作者: 嘎啦儿 时间: 2017-2-15 15:15
拿出来看看
作者: fjdaslfjk 时间: 2017-2-16 11:21
PHP魔术方法
作者: yu778377806 时间: 2017-2-16 15:51
666666666666666666
作者: Tody 时间: 2017-2-16 15:52
啊啊啊啊啊啊啊啊啊啊啊
作者: Cai小神 时间: 2017-2-23 17:41
一网打尽
作者: eke2007 时间: 2017-3-2 09:38
6666666666666
作者: 淋淋雨 时间: 2017-3-5 17:56
···········································
作者: Overflow 时间: 2017-3-13 16:24
111111111111111111111111111
作者: 飘香的咖啡 时间: 2017-3-26 00:33
谢谢分享了
作者: 剑客星辰 时间: 2017-4-30 10:49
3333333333333
作者: 咿呀咿呀哟 时间: 2017-5-2 09:34
啊啊啊~好东西啊,感谢分享~
作者: worldtongf 时间: 2017-5-21 00:41
PHP常量PHP常量PHP常量PHP常量
作者: 瞬间回忆 时间: 2017-5-24 16:15
一网打尽常用的PHP魔术方法
作者: thinkJUN 时间: 2017-7-3 10:14
感谢分享
作者: genecool007 时间: 2017-7-28 18:03
本帖最后由 genecool007 于 2017-7-28 18:04 编辑
楼主牛牛牛!!!!
作者: 金海环境 时间: 2017-8-4 09:31
111111111111111111111111
作者: CJH 时间: 2017-8-10 13:16
魔术方法是个什么鬼
作者: iamyhf 时间: 2017-8-28 07:50
回复查看详情
作者: reader799 时间: 2017-9-2 14:49
好好学习
作者: newu 时间: 2017-9-2 14:56
学习一下 谢谢 嘻嘻嘻
作者: yuanlinjiayou 时间: 2017-9-8 16:26
lllllllllllllllllll
作者: 释然36 时间: 2018-7-4 16:29
ea oinjiujingshishenme huishi
作者: hu838135705 时间: 2018-11-29 15:22
一网打尽常用的PHP魔术方法
作者: bug刘 时间: 2019-2-16 10:30
学习学习
作者: frmsceg 时间: 2019-4-1 10:04
谢谢分享
作者: Try-again 时间: 2021-4-29 19:58
PHP新手必知
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |