PHP之面向对象的魔术方法

本文介绍了PHP中的魔术方法,包括__set()和__get()用于私有成员的赋值和获取,__isset()和__unset()用于检测和删除私有成员属性,__call()处理未定义方法的调用,__toString()将对象转换为字符串,以及__autoload()自动加载类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP中以两个下划线"__"开头的方法被称为魔术方法。如__construct()、__destruct()、__clone()。

1、__set()和__get()方法对私有成员进行赋值或者获取值的操作。(不需要主动调用)

2、__isset()和__unset():当在类的外部使用isset()函数检测对象中的私有成员属性时,就会自动调用类中的"__isset()"方法完成对私有成员属性的检测操作。__unset()方法帮助unset()函数在类的外部删除指定的私有成员属性。

bool __isset(string name)

void __unset(string name)

3、__call()方法:当程序试图调用不存在或不可见的成员方法时,PHP会先调用__call()方法来存储方法名及其参数。__call()方法包含两个参数,即方法名和方法参数,其中,方法参数是以数组形式存在的。

4、__toString()方法:当使用echo或print输出对象时,将对象转化为字符串。如果没有__toString()方法,直接输出对象将会发生致命错误。输出对象时应注意:echo或print后直接跟要输出的对象,中间不要有任何多余的字符。

5、__autoload():自动实例化需要使用的类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值