《PHP实战:PHP 魔术变量和魔术函数详解》要点:
本文介绍了PHP实战:PHP 魔术变量和魔术函数详解,希望对您有用。如果有疑问,可以联系我们。
魔术变量PHP实例
PHP 向它运行的任何脚本提供了大量的预定义常量.PHP实例
不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包含进去了.PHP实例
有八个魔术常量它们的值随着它们在代码中的位置改变而改变.PHP实例
例如 __LINE__ 的值就依赖于它在脚本中所处的行来决定.这些特殊的常量不区分大小写,如下:PHP实例
__LINE__PHP实例
文件中的当前行号.PHP实例
实例:PHP实例
以上实例输出结果为:PHP实例
__FILE__PHP实例
文件的完整路径和文件名.如果用在被包括文件中,则返回被包括的文件名.PHP实例
自 PHP 4.0.2 起,__FILE__ 总是包括一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包括一个相对路径.PHP实例
实例:PHP实例
以上实例输出结果为:PHP实例
__DIR__PHP实例
文件所在的目录.如果用在被包含文件中,则返回被包含的文件所在的目录.PHP实例
它等价于 dirname(__FILE__).除非是根目录,否则目录中名不包含末尾的斜杠.(PHP 5.3.0中新增)PHP实例
实例:PHP实例
以上实例输出结果为:PHP实例
__FUNCTION__PHP实例
函数名称(PHP 4.3.0 新加).自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写).在 PHP 4 中该值总是小写字母的.PHP实例
实例:PHP实例
以上实例输出结果为:PHP实例
__CLASS__PHP实例
类的名称(PHP 4.3.0 新加).自 PHP 5 起本常量返回该类被定义时的名字(区分大小写).PHP实例
在 PHP 4 中该值总是小写字母的.类名包括其被声明的作用区域(例如 Foo\Bar).注意自 PHP 5.4 起 __CLASS__ 对 trait 也起作用.当用在 trait 办法中时,__CLASS__ 是调用 trait 办法的类的名字.PHP实例
实例:PHP实例
以上实例输出结果为:PHP实例
类名为:test
函数名为:_printPHP实例
__TRAIT__PHP实例
Trait 的名字(PHP 5.4.0 新加).自 PHP 5.4.0 起,PHP 实现了代码复用的一个办法,称为 traits.PHP实例
Trait 名包含其被声明的作用区域(例如 Foo\Bar).PHP实例
从基类继承的成员被插入的 SayWorld Trait 中的 MyHelloWorld 办法所覆盖.其行为 MyHelloWorld 类中定义的办法一致.优先顺序是当前类中的办法会覆盖 trait 办法,而 trait 办法又覆盖了基类中的办法.PHP实例
以上例程会输出:PHP实例
__METHOD__PHP实例
类的办法名(PHP 5.0.0 新加).返回该办法被定义时的名字(区分大小写).PHP实例
实例:PHP实例
以上实例输出结果为:PHP实例
__NAMESPACE__PHP实例
当前命名空间的名称(区分大小写).此常量是在编译时定义的(PHP 5.3.0 新增).PHP实例
实例:PHP实例
以上实例输出结果为:PHP实例
魔术函数PHP实例
__construct()
实例化对象时被调用,
当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用.PHP实例
__destruct()
当删除一个对象或对象操作终止时被调用.PHP实例
__call()
对象调用某个办法,
若办法存在,则直接调用;
若不存在,则会去调用__call函数.PHP实例
__get()
读取一个对象的属性时,
若属性存在,则直接返回属性值;
若不存在,则会调用__get函数.PHP实例
__set()
设置一个对象的属性时,
若属性存在,则直接赋值;
若不存在,则会调用__set函数.PHP实例
__toString()
打印一个对象的时被调用.如echo $obj;或print $obj;PHP实例
__clone()
克隆对象时被调用.如:$t=new Test();$t1=clone $t;PHP实例
__sleep()
serialize之前被调用.若对象比拟大,想删减一点东东再序列化,可考虑一下此函数.PHP实例
__wakeup()
unserialize时被调用,做些对象的初始化工作.PHP实例
__isset()
检测一个对象的属性是否存在时被调用.如:isset($c->name).PHP实例
__unset()
unset一个对象的属性时被调用.如:unset($c->name).PHP实例
__set_state()
调用var_export时,被调用.用__set_state的返回值做为var_export的返回值.PHP实例
__autoload()
实例化一个对象时,如果对应的类不存在,则该办法被调用.PHP实例
以上便是本文的全部内容了,小伙伴们是否对魔术变量和魔术函数有了新的认识了呢,希望大家喜欢本文内容.PHP实例
维易PHP培训学院每天发布《PHP实战:PHP 魔术变量和魔术函数详解》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。