PHP 魔法变量
魔法变量是指那些根据不同的环境而具有不同值的变量。下面是魔法常量,也称为魔法变量,因为它们在不同的环境下有不同的值。很高兴知道本质是一个常数。
PHP 为其运行的任何脚本提供了大量预定义常量。
然而,许多常量是由不同的扩展库定义的,只有在加载这些扩展库时才会出现,无论是动态加载还是在编译时包含。
有八个魔法常量,它们的值根据它们在代码中的位置而变化。
名单如下:
● LINE:查找文件中的当前行号。
● 文件:查找文件的完整路径和文件名。如果在包含文件中使用,
返回包含的文件名。
● DIR:查找文件所在目录。如果在包含文件中使用,则返回包含文件所在的目录。
●:函数名称(PHP 4.3.0 中新增) 从 PHP 5 开始,该常量返回定义函数时的名称(区分大小写)。
● CLASS:类的名称(PHP 4.3.0 新增)。从 PHP 5 开始,该常量返回类定义时的名称。
(区分大小写)。
● TRAIT:Trait 的名称(PHP 5.4.0 新增)。从 PHP 5.4.0 开始,PHP 实现了代码复用
方法,称为。
●:类的方法名(PHP 5.0.0新添加)。返回定义方法时的方法名称
(区分大小写)。和 的区别在于它返回类的名称和方法的名称
相反,它只返回方法的名称(前提是该方法位于类中)。
●:当前命名空间的名称(PHP 5.3.0 中的新功能)。
(区分大小写)。该常量是在编译时定义的。
线
确定文件中的当前行号。
例子:
文件
文件的完整路径和文件名。如果在包含文件中使用,则返回包含文件的名称。
从 PHP 4.0.2 开始,FILE 始终包含绝对路径(或者在符号链接的情况下解析的绝对路径),而在此之前的版本有时包含相对路径。
例子:
DIR(PHP 5.3.0 中的新功能)
文件所在的目录。如果在包含文件中使用,则返回包含文件所在的目录。
它相当于(文件)。目录名称不包含尾部斜杠,除非它们是根目录。
例子:
(PHP 4.3.0 中的新增功能)(区分大小写)
函数名称。从 PHP 5 开始,该常量返回函数定义时的名称。在 PHP 4 中,该值始终为小写。
例子:
CLASS(PHP 4.3.0 中的新增功能)(区分大小写)
班级名称。从 PHP 5 开始,该常量返回定义类时的类名。在 PHP 4 中,该值始终为小写。
类名包括声明它的范围(例如 Foo\Bar)。请注意,自 PHP 5.4 起,CLASS 也适用于特征。当在特征方法中使用时,CLASS 是调用特征方法的类的名称。
例子:
";
}
}
$t = new test();
$t->print();//输出类名为:test
?>
TRAIT(PHP 5.4.0 中的新增功能)
性状名称。从PHP 5.4.0开始,PHP实现了一种代码重用的方法,称为.
例子:
sayHello();
?>
提示:从基类继承的成员将被插入的 Trait 中的方法覆盖。其行为类中定义的方法是一致的。优先顺序是当前类中的方法覆盖特征方法,特征方法又覆盖基类中的方法。
(PHP 5.0.0 中的新增功能)(区分大小写)。
类的方法名称。返回定义方法时的方法名称。如果有类,则连同类名一起返回。
例子:
class a {
function fa() {
return __METHOD__;
}
function fb() {
return __FUNCTION__;
}
}
$Obj = new a();
echo $Obj->fa();// 输出 a::fa
echo $Obj->fb();// 输出 fb
(PHP 5.3.0 中的新增功能)(区分大小写)
返回当前命名空间的名称。该常量是在编译时定义的。
例子:
PHP 魔法函数
PHP魔法函数(13)以后会慢慢学习,所以我们先来了解一下:
● () 在实例化对象时调用,与类名结合时调用
当该函数名的函数同时存在时,它会被调用,而另一个则不会被调用。
● () 当对象被删除或对象操作终止时调用。
● () 对象调用方法。如果该方法存在,则直接调用;如果
如果不存在,将调用该函数。
● __get() 读取对象的属性时,如果属性存在,则直接返回属性值;如果不存在,则调用 __get 函数。
● __set() 设置对象的属性时,如果属性存在,则直接赋值;如果不存在,则调用 __set 函数。
● () 在打印对象时被调用。如 echo $obj;或打印 $obj;
● () 在克隆对象时被调用。例如:$t=new Test();$t1=克隆$t;
● () 之前被调用过。如果对象比较大,想在序列化之前删除一点,可以考虑这个函数。
● 调用()来做一些对象初始化工作。
● () 在检查对象的属性是否存在时调用。如:isset($c->name)。
● () 在取消设置对象的属性时调用。例如:取消设置($c->名称)。
● 当()被调用时,它被调用。使用返回值作为返回值。
● () 实例化对象时,如果对应的类不存在,则调用该方法。
PHP 中的下一章“命名空间”:
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。