PHP魔术方法、魔术常量
黄鸭 3/13/2022 server
# 写几个魔术方法并说明作用?
查看简单答案
- __call()
- __callStatic()
- __autoload()
- __set()
- __get()
- __construct()
- __destruct()
- __destroy()
- __unset()
- __isset()
- __clone()
- __tostring()
- __sleep()
- __wakeup()
- __invoke()
- __set_state()
查看详细答案
- __call():当调用不存在的方法时会自动调用的方法
- __callStatic():
- __autoload():在实例化一个尚未被定义的类是会自动调用次方法来加载类文件
- __set():当给未定义的变量赋值时会自动调用的方法
- __get():当获取未定义变量的值时会自动调用的方法
- __construct():构造方法,实例化类时自动调用的方法
- __destruct():
- __destroy():销毁对象时自动调用的方法
- __unset():当对一个未定义变量调用unset()时自动调用的方法
- __isset():当对一个未定义变量调用isset()方法时自动调用的方法
- __clone():克隆一个对象
- __tostring():当输出一个对象时自动调用的方法
- __sleep():
- __wakeup():
- __invoke():
- __set_state():
# PHP有哪些魔术常量?
查看简单答案
__LINE__
__FILE__
__FUNCTION__
__CLASS__
__METHOD__
__DIR__
__NAMESPACE__
__TRAIT__
查看详细答案
__LINE__
:返回文件中当前的行号。__FILE__
:返回当前文件的完整路径。__FUNCTION__
:返回所在函数名字。__CLASS__
:返回所在类的名字。__METHOD__
:返回所在类方法的名称。与__FUNCTION__
不同的是,__METHOD__
返回的是“class::function”
的形式,而__FUNCTION__
返回“function”
的形式。__DIR__
:返回文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录(PHP 5.3.0中新增)。__NAMESPACE__
:返回当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0新增)。__TRAIT__
:返回Trait被定义时的名字。Trait名包括其被声明的作用区域(PHP 5.4.0新增)。