在本教程中,您将学习如何使用PHP魔术常量。
在PHP常量一章中,我们学习了如何在PHP脚本中定义和使用常量。
此外,PHP还提供了一组特殊的预定义常量,这些常量根据使用它们的位置而变化。这些常量称为魔术常量。例如,__line__的值取决于它在脚本中使用的行。
魔术常量以两个下划线开头,以两个下划线结尾。以下部分描述了一些最有用的PHP魔术常量。
__LINE__常量返回文件的当前行号,如下所示:
<?php echo "Line number " . __LINE__ . "<br>"; // 输出: Line number 2 echo "Line number " . __LINE__ . "<br>"; // 输出: Line number 3 echo "Line number " . __LINE__ . "<br>"; // 输出: Line number 4 ?>测试看看‹/›
__FILE__常量返回正在执行的PHP文件的完整路径和名称。如果在include中使用,则返回包含文件的名称。
<?php //显示此文件的绝对路径 echo "此文件的完整路径为: " . __FILE__; ?>测试看看‹/›
__DIR__常量返回文件的目录。如果在include中使用,则返回包含文件的目录。这是一个实例:
<?php // 显示此文件的目录 echo "此文件的目录为: " . __DIR__; ?>测试看看‹/›
__FUNCTION__常量返回当前函数的名称。
<?php function myFunction(){ echo "函数名称是 - " . __FUNCTION__; } myFunction(); // 输出: 函数名称是 - myFunction ?>测试看看‹/›
__CLASS__常量返回当前类的名称。这是一个实例:
<?php class MyClass { public function getClassName(){ return __CLASS__; } } $obj = new MyClass(); echo $obj->getClassName(); // 输出: MyClass ?>测试看看‹/›
__METHOD__常量返回当前类方法的名称。
<?php class Sample { public function myMethod(){ echo __METHOD__; } } $obj = new Sample(); $obj->myMethod(); // 输出: Sample::myMethod ?>测试看看‹/›
__NAMESPACE__常量返回当前命名空间的名称。
<?php namespace MyNamespace; class MyClass { public function getNamespace(){ return __NAMESPACE__; } } $obj = new MyClass(); echo $obj->getNamespace(); // 输出: MyNamespace ?>测试看看‹/›