版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PHP 魔术变量和魔术函数详解_ 这篇文章主要简洁介绍了PHP 魔术变量和魔术函数,以及用法示例,便利我们学习理解php魔术变量和魔术函数,有需要的小伙伴参考下吧。 魔术变量 PHP 向它运行的任何脚本供应了大量的预定义常量。 不过许多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会消失,或者动态加载后,或者在编译时已经包括进去了。 有八个魔术常量它们的值随着它们在代码中的位置转变而转变。 例如 _LINE_ 的值就依靠于它在脚本中所处的行来决定。这些特别的常量不区分大小写,如下: _LINE_ 文件中的当前行号。 实例: 代码如下: ?php echo 这是第 “ . _LINE_
2、 . ” 行; ? 以上实例输出结果为: 代码如下: 这是第 “ 2 ” 行 _FILE_ 文件的完整路径和文件名。假如用在被包含文件中,则返回被包含的文件名。 自 PHP 4.0.2 起,_FILE_ 总是包含一个肯定路径(假如是符号连接,则是解析后的肯定路径),而在此之前的版本有时会包含一个相对路径。 实例: 代码如下: ?php echo 该文件位于 “ . _FILE_ . ” ; ? 以上实例输出结果为: 代码如下: 该文件位于 “ E:wamptestindex.php ” _DIR_ 文件所在的名目。假如用在被包括文件中,则返回被包括的文件所在的名目。 它等价于 dirname(
3、_FILE_)。除非是根名目,否则名目中名不包括末尾的斜杠。(PHP 5.3.0中新增) 实例: 代码如下: ?php echo 该文件位于 “ . _DIR_ . ” ; ? 以上实例输出结果为: 代码如下: 该文件位于 “ E:wamptest ” _FUNCTION_ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。 实例: 代码如下: ?php function test() echo 函数名为: . _FUNCTION_ ; test(); ? 以上实例输出结果为: 代码如下: 函数名为:te
4、st _CLASS_ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。 在 PHP 4 中该值总是小写字母的。类名包括其被声明的作用区域(例如 FooBar)。留意自 PHP 5.4 起 _CLASS_ 对 trait 也起作用。当用在 trait 方法中时,_CLASS_ 是调用 trait 方法的类的名字。 实例: 代码如下: ?php class test function _print() echo 类名为: . _CLASS_ . br; echo 函数名为: . _FUNCTION_ ; $t = new test(); $t-_
5、print(); ? 以上实例输出结果为: 类名为:test 函数名为:_print _TRAIT_ Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。 Trait 名包括其被声明的作用区域(例如 FooBar)。 从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 方法所掩盖。其行为 MyHelloWorld 类中定义的方法全都。优先挨次是当前类中的方法会掩盖 trait 方法,而 trait 方法又掩盖了基类中的方法。 代码如下: ?php class Base public
6、 function sayHello() echo Hello ; public function sayHello() parent:sayHello(); echo World!; class MyHelloWorld extends Base $o = new MyHelloWorld(); $o-sayHello(); ? 以上例程会输出: 代码如下: Hello World! _METHOD_ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。 实例: 复制代码 代码如下: ?php function test() echo 函数名为: . _METHO
7、D_ ; test(); ? 以上实例输出结果为: 代码如下: 函数名为:test _NAMESPACE_ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。 实例: 代码如下: ?php namespace MyProject; echo 命名空间为:, _NAMESPACE_, ; / 输出 MyProject ? 以上实例输出结果为: 代码如下: 命名空间为:MyProject 魔术函数 _construct() 实例化对象时被调用, 当_construct和以类名为函数名的函数同时存在时,_construct将被调用,另一个不被调用。 _destru
8、ct() 当删除一个对象或对象操作终止时被调用。 _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时,被调用。用_s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沉渣检测施工方案(3篇)
- 丝路会议施工方案(3篇)
- 中班防暴应急预案(3篇)
- 2026年青岛酒店管理职业技术学院单招职业倾向性考试题库含答案详解(能力提升)
- 2026年陇南师范高等专科学校单招职业倾向性测试题库带答案详解(b卷)
- 2026年青海省海北藏族自治州单招职业适应性考试题库附参考答案详解(基础题)
- 关于励志的研究报告
- 2026年青海省海西蒙古族藏族自治州单招职业适应性测试题库含答案详解(综合卷)
- 番茄饮品产品策略研究报告
- 2026年青岛恒星科技学院单招职业适应性测试题库含答案详解
- 2025年江苏农林职业技术学院高职单招(数学)历年真题考点含答案解析
- 企业事故隐患内部报告奖励制度
- 大连重工:中企华评报字(2024)第5436号资产评估报告
- 【人教版化学】选择性必修2 知识点默写小纸条(空白默写版)
- 档案馆数字档案馆建设方案
- TB-10414-2018-铁路路基工程施工质量验收标准
- JBT 14449-2024 起重机械焊接工艺评定(正式版)
- 农村土地转让协议正规版范本合集
- 中建五局有限空间作业方案编制指南(2022版)
- 2024年北京市成考(专升本)生理学护理学专业考试真题含解析
- 小学科学冀人版六年级下册全册同步练习含答案
评论
0/150
提交评论