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新增)。
更新时间: 2022-03-13 18:00