php魔术常量、超全局变量和魔术方法

一、魔术常量(8个)

有九个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:

__LINE__文件中的当前行号。
__FILE__文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。
__FUNCTION__当前函数的名称。匿名函数则为 {closure}
__CLASS__当前类的名称。类名包括其被声明的作用域(例如 Foo\Bar)。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。
__TRAIT__Trait 的名字。Trait 名包括其被声明的作用域(例如 Foo\Bar)。
__METHOD__类的方法名。
__NAMESPACE__当前命名空间的名称。
ClassName::class完整的类名。


二、超全局变量(9个)
PHP中预定义了几个超级全局变量(superglobals),这意味着它们在一个脚本的全部作用域中都可用。不需要特别说明,就可以在函数及类中使用.

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

$_SERVER :获取服务器相关信息

$_SERVER 是一个包含例如头信息(header)、路径(path)、以及脚本位置(script
locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每一个服务器 都提供全部项目; 服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。

$_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);//设置过期时间

9、$_SESSION : 获取session

1 使用session前一定要session_start()启动session
2 储存session:$_SESSION[‘name’]=”leixuesong”;//数组操作
3 销毁session:unset($_SESSION[‘views’]); //销毁一个  
4 session_destroy()和unset($_SESSION);//销毁所有的session

三、魔术方法
php在面向对象编程时有一些特殊的方法,会在特定的时机自动调用,我们将这类方法称为魔术方法

1.__construct,__destruct
__constuct构建对象的时被调用;
__destruct明确销毁对象或脚本结束时被调用;
2.__get,__set
__set当给不可访问或不存在属性赋值时被调用
__get读取不可访问或不存在属性时被调用
3.__isset,__unset
__isset对不可访问或不存在的属性调用isset()或empty()时被调用
__unset对不可访问或不存在的属性进行unset时被调用
4.__call,__callStatic
__call调用不可访问或不存在的方法时被调用
__callStatic调用不可访问或不存在的静态方法时被调用
5.__sleep,__wakeup
__sleep当使用serialize时被调用,当你不需要保存大对象的所有数据时很有用
__wakeup当使用unserialize时被调用,可用于做些对象的初始化操作
6.__clone
进行对象clone时被调用,用来调整对象的克隆行为
7.__toString
当一个类被转换成字符串时被调用
8.__invoke
当以函数方式调用对象时被调用
9.__set_state
当调用var_export()导出类时,此静态方法被调用。用__set_state的返回值做为var_export的返回值。
10.__debuginfo
当调用var_dump()打印对象时被调用(当你不想打印所有属性)
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值