PHP7 常用的魔术方法整理

发布时间 2023-10-08 09:25:30作者: 七彩鱼丸

php7魔术方法有哪些?

魔术方法是一种特殊的方法,当对对象执行某些操作时会覆盖 PHP 的默认操作。

PHP 保留所有以 __ 开头的方法名称。 因此,除非覆盖 PHP 的行为,否则不建议使用此类方法名称。

php7魔术方法有:

__constract:在实例化一个类时,触发

__destruct:在一个实例对象被销毁的时候触发

__set(string $name , mixed $value):设置一个不能访问的成员属性时触发

__get(string $name):获得一个不能访问的成员属性时触发

__call($name,$arguments):访问一个不能访问的成员方法时触发

__callStatic($name,$arguments):访问一个不能访问的成员静态方法时触发

__toString:将一个对象实例被当成字符串时触发

__clone:在创建一个新对象时触发

__invoke:当以函数的方式调用对象时触发

__sleep:在对一个对象的数据处理,不需要保存全部数据时触发,如: serialize()序列化时

__wakeup:  在unserialize()时,会先检查是否有__wakeup方法

__unset(string $name):在一个不可访问的对象属性被unset时触发

__isset(string $name):在一个不可访问的对象属性被isset,empty时触发

__debugInfo:当一个对象被var_dump时触发

__set_state:当一个对象被var_export时触发

 

转载至:https://www.php.cn/faq/485663.html