PHP中的魔术方法

PHP中的魔术方法

创建与销毁 __construct、__destruct;

 __construct --构造函数;

具有构造函数的类会在每次创建新对象时先调用此方法。
__destruct		--析构函数;

析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

方法重载 __call、__callStatic;

__call

在对象中调用一个不可以访问的方法时。则调用;
__callStatic

在静态上下文中调用一个不可访问的方法时。则调用;

属性重载 __set、__get、__isset、__unset;

__set

在给不可访问属性进行赋值时,则调用;
__get

读取不可访问属性的值时,则调用;
__isset

当对不可访问属性调用 isset() 或 empty() 时,则调用;
__unset

当对不可访问属性调用 unset() 时,则调用;

其它

__sleep()

serialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在,则调用;
__wakeup()

unserialize() 会检查是否存在一个 __wakeup() 方法。如果存在,则调用;
__toString()

__toString() 方法用于一个类被当成字符串时应怎样回应。echo $obj;
如:$obj = new TestClass; echo $obj;
__Invoke()

当尝试以调用函数的方式调用一个对象时,则调用;
__set_state()

自 PHP 5.1.0 起当调用 var_export() 导出类时,此静态 方法会被调用。
__clone()

当复制完成时,如果定义了 __clone() 方法,则新创建的对象(复制生成的对象)中的 __clone() 方法会被调用,可用于修改属性的值(如果有必要的话)。__construct()不会调用。
__debugInfo()

Var_dump() 一个对象,则调用。需要返回一个数组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值