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预定义的一些常量,这些常量会随着所在的位 ...
随机推荐
- SQL大全(1)
实用SQL语句大全 一.基础 1.创建数据库 create database 数据库名 2.删除数据库 drop database 数据库名 3.增加列 alter table 表名 add 列名 类 ...
- oracle 查询及删除重复记录的SQL语句
查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group ...
- 2.6用tr进行转换
tr可以对来自标准输入的内容进行字符替换.字符删除以及重复字符压缩.它可以将一组字符变成另一组字符,因而通常也被称为转换命令. 1.tr只能通过stdin(标准输入),而无法通过命令行参数来接受输入. ...
- 正则表达式/i,/g,/ig,/gi,/m的含义
正则表达式中/i,/g,/ig,/gi,/m的区别和含义 /i (忽略大小写)/g (全文查找出现的所有匹配字符)/m (多行查找)/gi(全文查找.忽略大小写)/ig(全文查找.忽略大小写)
- php中使用mysqli和pdo扩展,测试mysql数据库的执行效率。
<?php /** * 测试pdo和mysqli的执行效率 */ header("Content-type:text/html;charset=utf-8"); //通过pd ...
- NOIP2015提高组 跳石头 ACM-ICPC2017香港 E(选择/移除+二分答案)
跳石头 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 NN ...
- Linux绘图函数
gdk_draw_line () gdk_draw_rectangle () gdk_draw_arc () gdk_draw_polygon () gdk_draw_string () gdk_dr ...
- 网络编程demo之Udp和URL
首先是udp编程客户端发送消息给服务端,服务端接受然后打印到console控制台上 下面是一个有代表性的demo package com.henu.liulei; import java.io.IOE ...
- GDB 远程调试Linux (CentOS)
1.引用: https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/ 注意安装gdbserv ...
- [Xcode 实际操作]七、文件与数据-(11)数据持久化存储框架CoreData的使用:创建CoreData实体并插入数据
目录:[Swift]Xcode实际操作 本文将演示[CoreData]数据持久化存储框架的使用. 点击[Create a new Xcode project]创建一个新的项目 ->[Single ...