PHP面向对象魔术方法总结
admin
2023-06-24 06:02:24
0

1.构造函数__construct()

说明:是对象创建完成后,第一个被调用的方法,当创建一个对象时,构造方法就

会被自动调用一次,不能主动通过对象的引用调用构造方法。

作用:就是为成员属性初始化

格式:

Function __construct([参数列表]){

//方法体,通常用来对成员属性进行初始化赋值

}

2.析构函数__destruct()

说明:在销毁一个对象之前执行的一些特定操作,例如:释放文件、关闭结果集。

作用:关闭一些资源,做一些清理工作

格式:function__destruct(){

//方法体,通常用来完成一些在对象销毁之前的清理任务

}

3.方法重载 __call()

说明:调用对象中不存在的方法时会自动调用此方法,并且程序也可以继续向下执

行。caLl()方法有两个参数:第一个是调用不存在的方法时,接受这个方法名称字

符串;而参数列表则以数组的形式传递到__call()方法的第二个参数中。

格式:publicmixed__call ( string $name , array $arguments )

4.方法重载__callstatic()

说明:用静态方式调用一个不可访问的方法时,会自动调用此方法。$name 参数

是要调用的方法名称。$arguments 参数是一个枚举数组,包含着要传递给方法

$name 的参数。

格式:public staticmixed__callStatic ( string $name , array $arguments )

5.__get()

说明:直接在对象的外部获取私有属性的值时,会自动调用此方法,返回私有属性

的值。并且可以再__get()方法中根据不同的属性,设置一些条件来限制对私有属性

的非法取值操作。

格式:publicmixed__get ( string $name )

6.__set()

说明:控制在对象外部只能为私有的成员属性赋值,不能获取私有属性的值。

作用:是在程序运行过程中为私有的成员属性设置值,它不需要任何返回值。但他

需要两个参数,第一个参数需要传入在为私有属性设置值时的属性名,第二个参数

则需要传入为属性设置的值。

格式:publicvoid__set ( string $name , mixed $value )

7.__isset()

说明:当需要测定对象里面的私有属性的值时,会自动调用此方法,间接地帮助我

们完成对对象中私有成员属性的测定。

格式:publicbool__isset ( string $name )

8.__unset()

说明:当对不可访问属性调用 unset()时,__unset() 会被调用。进行私有属性的删

除操作。

格式:publicvoid__unset ( string $name )

9.__sleep()

说明:在调用 seralize()函数将对象串行化时,会自动调用此方法,用来将对象中

的部分成员串行化。该函数不接受任何参数,但需要返回一个数组,在数组中包含

需要串行化的属性。未被包含在数组中的属性将在串行化时被忽略。如果没有在类

中声明__sleep()方法,对象中的所有属性都将被串行化。

格式:publicarray__sleep ( void )

10.__wakeup()

说明:在调用 unseralize()函数反串行化对象时,会自动调用此方法,用来在二进

制串中重新组成一个对象时,为新对象中的成员属性重新初始化。

格式:void__wakeup ( void )

11.__toString()

说明:是快速获取对象的字符串表示的最便捷的方式,他是在直接输出对象引用时

自动调用的方法。

格式:publicstring__toString ( void )

12.__invoke()

说明:当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。

格式:mixed__invoke ([ $... ] )

13__clone()

说明:该方法在对象被克隆时自动调用,所以就可以通过此方法对克隆后的副本重

新初始化。该方法不需要任何参数,该方法中自动包含$this 和$that 两个对象的引用,

$this 是副本对象的引用,而$that 则是原本对象的引用。

格式:void__clone ( void )


相关内容

热门资讯

神舟二十一航天员张洪章出舱,谈... 据凤凰卫视报道,北京时间2026年5月29日20时11分,神舟二十一号航天员乘组搭乘神舟二十二号载人...
神二十一航天员张陆出舱,从太空... 据凤凰卫视报道,神舟二十一号航天员乘组5月29日乘坐神舟二十二號载人飞船返回地球。北京时间20时11...
5月30日、31日晚8点来京东... 又好又便宜的京东618将于5月30日晚8点正式开启,全品类现货开卖。5月30日、31日每晚8点,消费...
27国代表齐聚厦门!金砖国家新... 来源:中国制造 5月27日,由工业和信息化部、福建省人民政府共同主办2026金砖国家新工业革命伙伴...
奋进“十五五” 科技谱新篇 —... 2026年5月28日上午,由抚顺市科学技术协会、新抚区科技局、新抚区委宣传部、新抚区科学技术协会联合...
国家最新的“人口小普查”,揭开... 5月22日,国家统计局公布了2025年全国1%人口抽样调查主要数据。这是国家统计局于2025年开展的...
漯河创新“曲艺+短剧+漫画”模... 您的浏览器不支持 video 标签。防谣治谣,重在源头,贵在日常。漯河市委网信办打破传统说教,推出《...
凤凰晚报丨哈马斯加沙领导人,上... 今日人物【穆罕默德·奥达,“上任即被斩首”】奥达一直是哈马斯的活跃领导人,曾长期担任哈马斯核心战斗部...
国家知识产权局前局长田力普一行... 本报讯 (记者吴奕萱 见习记者王楠)5月29日,宁波均普智能制造股份有限公司(以下简称“均普智能”)...
向山、向海、向荒野|2026第... 2026第二届搜狐极限探索者大会,即将于6 月 6 日在北京盛大启幕。 这是一场属于探索者的年度盛宴...