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()    实例化一个对象时,如果对应的类不存在,则该方法被调用。



本文转自 a928154159 51CTO博客,原文链接:http://blog.51cto.com/zhibeiwang/2072157

相关文章
|
11天前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
12 2
|
18天前
|
JavaScript 前端开发 PHP
|
1月前
|
监控 数据库连接 PHP
php中register_shutdown_function函数用法详解
通过 `register_shutdown_function`,PHP开发者可以对脚本的终止进行更精细化的处理,这个函数让开发者能在脚本的生命周期结束时有机会执行最后的操作,无论脚本是正常结束还是发生错误。由于它的高度实用性和灵活性,`register_shutdown_function`是PHP开发中不可或缺的工具之一。
20 0
|
2月前
|
SQL 关系型数据库 MySQL
php所有函数总结
以上只是PHP中函数的一部分,实际上PHP提供了丰富的内置函数,能够处理各种复杂的任务。
18 2
|
2月前
|
存储 Serverless PHP
|
3月前
|
PHP
原生php制作分页函数
原生php制作分页函数
22 0
|
3月前
|
Linux PHP Windows
蓝易云 - php环境变量的配置步骤
以上就是配置PHP环境变量的步骤,希望对你有所帮助。
32 0
|
4月前
|
PHP Perl
PHP-ereg()函数
但再次强调,不建议使用ereg()函数,而应该改用preg_match()函数来执行更灵活和强大的正则表达式匹配操作。
46 4
|
4月前
|
存储 PHP
【PHP入门】1.2-常量与变量
【PHP入门】1.2-常量与变量
【PHP入门】1.2-常量与变量
下一篇
DDNS