PHP超全局变量、魔术变量和魔术方法

PHP超全局变量

$_GET 通过get方式传递的值(通过 URL 参数传递给当前脚本的变量的数组。)

$_POST 通过post形式传递的值(当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。)

$_COOKIE 获取客户端传递的COOKIE的值(通过 HTTP Cookies 方式传递给当前脚本的变量的数组

$_REQUEST 默认情况下包含 $_GET $_POST $_COOKIE的值

$_FILES 获取上传文件的的变量

$_SERVER 获取web服务器的诸如header、 path、 script locations等信息(大量的此类变量都会在» CGI 1.1 规范中说明)

$_ENV 获取服务器端环境变量的数组

$_SESSION 获取当前脚本可用的SESSION变量的数组(一个访问者访问你的 web 网站将被分配一个唯一的 id, 就是所谓的会话 id. 这个 id 可以存储在用户端的一个 cookie 中,也可以通过 URL 进行传递.通过会话id存储的数据为session值)

$GLOBAL 包含全部变量的全局数组(变量的名字就是数组的键)

 

魔术变量

__CLASS__ 获取当前类定义时的名称

__DIR__ 文件的完整路径(如果是被包含文件中使用,则为被包含文件的信息) 

__LINE__ 文件中的当前行(如果是被包含文件中使用,则为被包含文件的信息) 

__FILE__ 文件的完整路径和文件名(如果是被包含文件中使用,则为被包含文件的信息) 

__NAMESPACE__ 获取当前命名空间

__FUNCTION__ 获取当前函数名

__METHOD__ 获取当前类的方法名(PHP 5.0.0 新加)

__FUNCTION__ __METHOD__的区别:类外的函数体中,效果一样同为返回方法名;类内部的函数体中, METHOD会额外带有 "类名::"

 

魔术方法

__construct 初始化类时调用

__destruct 销毁类时调用

__call __callStatic() 调用对象中不可访问的方法时调用(在对象中调用一个不可访问方法时,__call() 会被调用。在静态上下文中调用一个不可访问方法时,__callStatic() 会被调用)

__get 读取对象中不可访问的参数时调用

__set 对对象中不可访问的参数赋值时调用

__isset 对对象中不可访问的参数使用isset时调用

__unset 对象中不可访问的参数使用unset时调用

__empty 对象中不可访问的参数使用emptyt时调用

__clone 对象克隆时调用

__sleep 对象内部调用serialize() 时会先调用

__wakeup 对象内部调用unserialize() 时会先调用

__set_state 自 PHP 5.1.0 起当调用 var_export() 导出类时,此静态 方法会被调用。

 __debugInfo()  调用 var_dump 时会先调用

posted @ 2017-04-10 22:20  long隆  阅读(261)  评论(0编辑  收藏  举报