php魔术常量、超全局变量、魔术方法
一、魔术常量(魔术变量)
概念:所谓的魔术常量就是PHP预定义的一些常量,这些常量会随着所在的位置而变化。
1、__LINE__ 获取文件中的当前行号。
2、__FILE__ 获取文件的完整路径和文件名。
3、__DIR__ 获取文件所在目录。
4、__FUNCTION__ 获取函数名称(PHP 4.3.0 新加)。
5、__CLASS__ 获取类的名称(PHP 4.3.0 新加)。
6、__METHOD__ 获取类的方法名(PHP 5.0.0 新加)。
7、__NAMESPACE__ 当前命名空间的名称(区分大小写)。
8、__TRAIT__ Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 Foo\Bar)。
情况一:
__FUNCTION__与__METHOD__ 同处于“类外”的函数体中,他们的返回值是一样一样滴.
情况二:
__FUNCTION__与__METHOD__ 同处于“类内”的函数体中,__METHOD__ 比 __FUNCTION__前面多了个“类名::”
二、超全局变量(9个)
1、$GLOBALS :储存全局作用域中的变量
2、$_SERVER :获取服务器相关信息
3、$_REQUEST :获取POST和GET请求的参数
4、$_POST : 获取表单的POST请求参数
5、$_GET: 获取表单的GET请求参数
6、$_FILES :获取上传文件的的变量
7、$_ENV : 获取服务器端环境变量的数组
8、$_COOKIE:获取浏览器的cookie
浏览器cookie的操作
设置cookie:setcookie(name, value, expire, path, domain);
获取cookie:$_COOKIE[“user”];
删除cookie:setcookie(“user”, “”, time()-3600);//设置过期时间
9、$_SESSION : 获取session
服务端session的操作
使用session前一定要session_start()启动session
储存session:$_SESSION[‘name’]=”leixuesong”;//数组操作
销毁session:unset($_SESSION[‘views’]);//销毁一个
session_destroy()和unset($_SESSION);//销毁所有的session
三、魔术方法(魔术函数)
概念:PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。
分别为: __construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 等方法在 PHP 中被称为"魔术方法"(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。
最新文章
- Fiddler--一、HTTP协议简介
- H5版俄罗斯方块(4)---火拼对战的雏形
- CentOS终端界面登入Linux
- [C++]内存字节对齐
- Web安全 之 SQL注入
- Java [Leetcode 338]Counting Bits
- linux下常用FTP命令
- SQL从入门到基础–08 Union、Union all及案例
- delete语句与reference约束 FK_subplan_job_id冲突问题,导致job无法删除解决办法
- 配置serv-u access数据库遇到的一些问题
- ERROR 1406 : Data too long for column 解决办法
- c语言一个处理文本文件的例子
- Perl获取主机名、用户、组、网络信息
- Exp2 后门原理与实践 20164311
- MT【245】小概率事件
- [SNOI2017]一个简单的询问【莫队+容斥原理】
- Python3 与 NetCore 基础语法对比(List、Tuple、Dict、Set专栏)
- VSTO学习问题(一)
- Gym - 101490F:Endless Turning (半平面交)
- django 增加自定义权限的一个博客,讲的很详细
热门文章
- STL stl_uninitialized.h
- Android之setContentView和LayoutInflater
- php中socket的使用
- I.MX6 Python3 OpenCV
- margin百分比的相对值--宽度!
- 修改MySQL的时区,涉及参数time_zone (转)
- MyEclipse、Eclipse SVN插件的帐号、密码修改
- tomcat部署虚拟主机-搭建两个应用以及httpd和Nginx的反向代理
- linux日常管理-top动态查看负载
- [poj1459]Power Network(多源多汇最大流)