[梳理] PHP 魔术变量、超全局变量、魔术函数

魔术变量

  • __LINE__ 文件中的当前行号。
  • __FILE__ 文件的完整路径和文件名。如果用在被包含文件中,返回被包含的文件名。
  • __DIR__ 文件所在的目录。如果用在被包含文件中,返回被包含的文件所在的目录。
  • __FUNCTION__ 自 PHP 5 起返回该函数被定义时的名字(区分大小写)。在PHP 4中改值总是小写字母。
  • __CLASS__ 自 PHP 5 起返回该类被定义时名字(区分大小写)。
  • __TRAIT__ trait 的名字。
  • __METHOD__ 类的方法名。返回该方法被定义时的名字(区分大小写)。
  • __NAMESPACE__ 当前命名空间的名称(区分大小写)。

超全局变量

  • $GLOBALS 存储全局作用域中的变量。
  • $_SERVER 获取服务器相关信息。
  • $_REQUEST 获取POST和GET请求的参数。
  • $_POST 获取表单的POST请求参数。
  • $_GET 获取表单的GET请求参数。
  • $_FILES 获取上传文件的变量。
  • $_ENV 获取服务器端环境变量的数组。
  • $_COOKIE 浏览器cookie的操作。
  • $_SESSION 服务端session的操作。

魔术函数

  • __construct() 实例化对象时被调用。
  • __destruct() 当删除一个对象或对象操作终止时被调用。
  • __call() 对象调用某个方法,若方法不存在,则会调用该函数。
  • __get() 读取一个对象的属性时,若属性不存在,则会调用该函数。
  • __set() 设置一个对象的属性时,若属性不存在,则会调用该函数。
  • __toString() 打印一个对象时被调用。如echo obj;
  • __clone() 克隆对象时被调用,如:t1=clone $t;
  • __sleep() serialize之前调用。
  • __wakeup() unserialize时调用。
  • __isset() 检测一个对象的属性是否存在时被调用。如:isset($c->name)。
  • __unset() unset 一个对象的属性时被调用。如:unset($c->name)。
  • __set_state() 调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
  • __autoload() 实例化一个对象时,如果对应的类不存在,则该方法被调用。

你可能感兴趣的:([梳理] PHP 魔术变量、超全局变量、魔术函数)