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 时会先调用
PHP超全局变量、魔术变量和魔术方法的更多相关文章
- PHP超级全局变量、魔术变量和魔术函数的区别和联系
PHP超级全局变量.魔术变量和魔术函数的区别和联系 一.总结 一句话总结:PHP超级全局变量主要用于web开发,魔术变量主要用于输出当前对象的信息,魔术函数则是对象的常用方法 相同点: 1.PHP超级 ...
- PHP魔术变量和魔术方法
基础知识:魔术变量和魔术方法 魔术变量:最初PHP魔术变量的出现主要是为了方便开发者调试PHP的代码;当然也可以利用这个实现特殊需求.在写法上魔术变量前后都有两个下划线. 如:_LINE_:返回文件中 ...
- PHP 魔术变量和魔术函数详解
魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的 ...
- PHP 常量、PHP 变量全解析(超全局变量、变量的8种数据类型等)
常量特点 常量一旦被定义就无法更改或撤销定义. 常量名不需要开头的$ 与变量不同,常量贯穿整个脚本是自动全局的. 作用域不影响对常量的访问 常量值只能是字符串或数字 设置 PHP 常量 如需设置常量, ...
- PHP超级全局变量、魔术变量和魔术函数
PHP超级全局变量(9个) $GLOBALS 储存全局作用域中的变量 $_SERVER 获取服务器相关信息 $_REQUEST 获取POST和GET请求的参数 $_POST 获取表单的POST请求参数 ...
- nginx中在超全局变量$_SERVER中增加变量
业务中可能会用到一些自定义的超全局变量,需要在nginx中生成的,比如,每次nginx请求的id,可以在nginx中配置 如: location ~ \.php$ { root / ...
- php代码审计2全局变量和超全局变量
全局变量:就是在函数外面定义的变量,不能在函数中直接使用,因为它的作用域不会到函数内部,所以在函数内部使用的时候尝尝看到类似global $a; 超全局变量:在所有脚本都有效,所以,在函数可以直接使用 ...
- php预定义变量,超全局变量,魔术方法,特殊函数变量使用
<?php /* * 本代码全部为测试函数代码,部分注释和写实例 * * 修改php.ini variables_order=”EGPCS” * 请注意$_REQUEST在优先级传参的时候会造成 ...
- PHP的魔术常量(变量)、魔术方法(函数)、超全局变量
https://www.cnblogs.com/ccw869476711/p/9183783.html 一.魔术常量(魔术变量) 概念:所谓的魔术常量就是PHP预定义的一些常量,这些常量会随着所在的位 ...
随机推荐
- UML统一建模语UML2和EnterpriseArchitect
其实前面的UML统一建模语言(一)所描述的都是UML1的内容,现在咱们聊一聊UML2. UML2.x完全建立在UML1.x基础之上,大多数的UML1.x模型在UML2.x中都可用.但UML2.x在结构 ...
- Cocos2d-x v3.x and Xcode 6.x with ARM 64 Architecture
转自:http://becomingindiedev.blogspot.com.es/2014/12/cocos2d-x-v3x-and-xcode-6x-with-arm-64.html Hi! W ...
- day9http协议
Http协议入门 2.1 什么是http协议 http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 2.2 查看http协议的工具 1)使用火狐的firebug插件(右键->f ...
- CodeForces 484A Bits(水题)
A. Bits time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- Linux下磁盘加密luks使用
使用luks加密磁盘,磁盘需要映射才可以挂载,映射的时候需要输入密码验证.luks相对于是对硬盘上了一把锁,要想打开就得有相应的钥匙,如果打开了就可以随意操作了,和普通硬盘一样. 使用方法如下: 0. ...
- 35.Docker安装Mysql挂载Host Volume
连个文件系统有块区域Area,我们要做的是把两个Area做文件映射 jesse腾讯云上有个linux的环境,版本比较老了 简书的地址: https://www.jianshu.com/p/b3bf64 ...
- eos管理页面
调用此方法删除需要在po_module_processdef添加数据如下 默认情况下申请页面是有权限的 但是在此表加过之后 管理页面要打开拟稿页面还必须在 系统管理页面(xtgl.jsp ) 分 ...
- 基于selenium+java的12306自动抢票
import java.util.concurrent.TimeUnit; import org.openqa.selenium.By;import org.openqa.selenium.Keys; ...
- 在GitHub上上传项目(转载)
今天准备在GitHub第一次上传自己的项目,发现过程并不是太简单,在网上找了一个博客,写的很详细,结合着他的讲解成功上传了自己的项目. 结合着他的步骤和自己遇到的问题,做一个梳理,以便以后使用.(原博 ...
- MYSQL limit,offset 区别(转)
SELECT keyword FROM keyword_rank WHERE advertiserid='59' order by keyword LIMIT 2 OFFSET 1; 比如这个SQL ...