×

php中魔术方法

php中魔术方法(php魔术方法的讲解与使用)

admin admin 发表于2023-03-29 09:58:09 浏览51 评论0

抢沙发发表评论

本文目录一览:

php中常用的魔术方法有哪些?

php规定以两个下划线__开头的方法都保留为魔术方法,建议自定义函数的函数名最好避开。

__construct() 实例化类时自动调用。

__destruct() 类对象使用结束时自动调用。

__set() 在给未定义的属性赋值的时候调用。

__get() 调用未定义的属性时候调用。

__isset() 使用isset()或empty()函数时候会调用。

__unset() 使用unset()时候会调用。

__sleep() 使用serialize序列化时候调用。

__wakeup() 使用unserialize反序列化的时候调用。

__call() 调用一个不存在的方法的时候调用。

__callStatic()调用一个不存在的静态方法是调用。

__toString() 把对象转换成字符串的时候会调用。比如 echo。

__invoke() 当尝试把对象当方法调用时调用。

__set_state() 当使用var_export()函数时候调用。接受一个数组参数。

__clone() 当使用clone复制一个对象时候调用。

php什么是魔术方法

__construct(),

__destruct(),

__call(),

__callStatic(),

__get(),

__set(),

__isset(),

__unset(),

__sleep(),

__wakeup(),

__toString(),

__invoke(),

__set_state(),

__clone()

__debugInfo()

等方法在

PHP

中被称为"魔术方法"(Magic

methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。

PHP 获取类名

在PHP中可以使用魔术方法 __CLASS__ 来获取类名

官方文档如下

如果想要得到不包含类的作用域的名称或类的作用域则需要下面两个函数

类包含作用域的名称

类作用域的名称

类不包含作用域的名称