PHP超级全局变量、魔术变量和魔术函数

PHP在设计的时候已经预定义了9个超级全局变量、8个魔术变量和13魔术函数,这些变量和函数可以在脚本的任何地方不用声明就可以使用。 在PHP开发会频繁的使用这些变量和函数,这些变量和函数可以方便的帮我们解决很多问题。下面详细的讲解下PHP中的超级全局变量、魔术变量和魔术函数。

PHP超级全局变量(9个)

  $GLOBALS  储存全局作用域中的变量

  $_SERVER  获取服务器相关信息

  $_REQUEST  获取POST和GET请求的参数

  $_POST  获取表单的POST请求参数

  $_GET  获取表单的GET请求参数

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

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

  $_COOKIE    浏览器cookie的操作

          设置cookie:setcookie(name, value, expire, path, domain);

          获取cookie:$_COOKIE["user"];

          删除cookie:setcookie("user", "", time()-3600);//设置过期时间

  $_SESSION  服务端session的操作

          使用session前一定要session_start()启动session

          储存session:$_SESSION["name"]="King";//数组操作

          销毁session:unset($_SESSION["name"]);//销毁一个

          session_destroy()和unset($_SESSION);//销毁所有的session

PHP魔术变量(8个)

  __LINE__  文件中的当前行号。

  __FILE__  文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

  __DIR__  文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

  __FUNCTION__  常量返回该函数被定义时的名字

  __CLASS__  常量返回该类被定义时的名字(区分大小写)。

  __METHOD__  类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

  __NAMESPACE__  当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。

PHP魔术函数(13个)

  __construct()   实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。

  __destruct()    当删除一个对象或对象操作终止时被调用。

  __call()      对象调用某个方法,若方法存在,则直接调用;若不存在,则会去调用__call函数。

  __get()       读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get函数。

  __set()        设置一个对象的属性时,若属性存在,则直接赋值;若不存在,则会调用__set函数。

  __toString()    打印一个对象的时被调用。如echo $obj;或print $obj;

  __clone()       克隆对象时被调用。如:$t=new Test();$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()    实例化一个对象时,如果对应的类不存在,则该方法被调用。

文章来源:http://www.cnblogs.com/wangxin-king/p/5669336.html

时间: 2024-10-26 20:45:00

PHP超级全局变量、魔术变量和魔术函数的相关文章

PHP 魔术变量和魔术函数详解

魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们在代码中的位置改变而改变. 例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定.这些特殊的常量不区分大小写,如下: __LINE__ 文件中的当前行号. 实例: <?php echo '这是第 “ ' . __LINE__ . ' ” 行'; ?> 以上实例输出结果为: 这是第

PHP魔术变量和魔术方法

基础知识:魔术变量和魔术方法 魔术变量:最初PHP魔术变量的出现主要是为了方便开发者调试PHP的代码;当然也可以利用这个实现特殊需求.在写法上魔术变量前后都有两个下划线. 如:_LINE_:返回文件中的当前行号,我们在定位错误的时候经常用到. 魔术方法:主要是随着PHP的面向对象特性出现的(出就是PHP5之后),主要解决的是PHP在面向对象的思想中所遇到的一些特殊情况.魔术方法使用两个下划线开头.所有的魔术方法都需要给予public属性. 如:__construct():通用的类构造函数. PH

PHP_007 魔术变量和魔术函数

魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们在代码中的位置改变而改变. 例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定.这些特殊的常量不区分大小写,如下: __LINE__ 文件中的当前行号. 实例: <?php echo '这是第 " '  . __LINE__ . ' " 行'; ?> 以上实

PHP 魔术变量和魔术函数

魔术变量 PHP 向它运行的任何脚本提供了大量的预定义常量. 不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们在代码中的位置改变而改变. 例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定.这些特殊的常量不区分大小写,如下: __LINE__ 文件中的当前行号. 实例: 复制代码 代码如下: <?php echo '这是第 " '  . __LINE__ . ' " 行'

PHP超级全局变量——Session 变量

PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置.Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用. PHP Session 变量 当您运行一个应用程序时,您会打开它,做些更改,然后关闭它.这很像一次会话.计算机清楚你是谁.它知道你何时启动应用程序,并在何时终止.但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态. 通过在服务器上存储用户信息以便随后使用(比如做分页设计的时候,把页面的信息存放

php 基础之 php里的超级全局变量 --4.23

// php里的超级全局变量 $num =  99; function t() {    echo $num;} // 在这个调用过程 , $num为null,因为函数内部没有定义$num// 且在PHP中,并不会像js一样,尚着作用域往外寻找t(); // 在PHP中,有一类特殊的变量,叫做超级全局变量.// 不管你的在函数中,还是在类内部,也不管代码包装了多深.// 都能够访问到该变量. function s() {    echo $_GET['title'];} s();

php超级全局变量

超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用. 你不需要特别说明,就可以在函数及类中使用. PHP 超级全局变量列表: $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION 本章节我们将讲解几个常用的超级全局变量,其

PHP获取目录和的方法通过魔术变量;通过超级全局变量;通过相关函数等等:

1 <?php 2 /** 3 * PHP获取路径或目录实现 4 * @link http://www.phpddt.com 5 */ 6 7 //魔术变量,获取当前文件的绝对路径 8 echo "__FILE__: ========> ".__FILE__; 9 echo '<br/>'; 10 11 //魔术变量,获取当前脚本的目录 12 echo "__DIR__: ========> ".__DIR__; 13 echo '&l

文件操作函数、魔术变量

__FILE__ 文件的完整路径和文件名. __DIR__ 文件所在的目录 下面的更能说明不是index.php所在目录. 输出: 看到没,等于是代码所在脚本处的路径 我不明白为什么你每次都觉得是index.php所在的路径, 可能是因为访问网站的时候static的资源都是经过了 http://localhost/ypframe/admin/static/huiadmin/lib/jquery/1.9.1/jquery.min.js apache将你的localhost解析到www文件夹,然后直