PHP 基础教程
PHP 高级教程
PHP & MySQL DATABASE
PHP 示例
PHP 参考手册

PHP 魔术常量

I在本教程中,您将学习如何使用 PHP 魔术常量。

什么是魔术常量

PHP 常量 章节中,我们学习了如何在 PHP 脚本中定义和使用常量。

此外,PHP 还提供了一组特殊的预定义常量,这些常量会根据它们的使用位置而变化。 这些常数称为魔术常数。 例如, __LINE__ 的值取决于它在脚本中使用的行。

魔术常数以两个下划线开头,以两个下划线结尾。 以下部分描述了一些最有用的神奇 PHP 常量。

__LINE__

__LINE__ 常量返回文件的当前行号,如下所示:

<?php
echo "Line number " . __LINE__ . "<br>"; // Displays: Line number 2
echo "Line number " . __LINE__ . "<br>"; // Displays: Line number 3
echo "Line number " . __LINE__ . "<br>"; // Displays: Line number 4
?>

__FILE__

__FILE__ 常量返回正在执行的 PHP 文件的完整路径和名称。 如果在 include 中使用,则返回包含文件的名称。

示例

Download
<?php
// 显示此文件的绝对路径
echo "The full path of this file is: " . __FILE__;
?>

__DIR__

__DIR__ 常量返回文件的目录。 如果在包含中使用,则返回包含文件的目录。 这是一个例子:

示例

Download
<?php
// 显示此文件的目录
echo "The directory of this file is: " . __DIR__;
?>

__FUNCTION__

__FUNCTION__ 常量返回当前函数的名称。

<?php
function myFunction(){
    echo  "The function name is - " . __FUNCTION__;
}
myFunction(); // Displays: The function name is - myFunction
?>

__CLASS__

__CLASS__ 常量返回当前 的名称。 这是一个例子:

<?php
class MyClass
{
    public function getClassName(){
        return __CLASS__;
    }
}
$obj = new MyClass();
echo $obj->getClassName(); // Displays: MyClass
?>

__METHOD__

__METHOD__ 常量返回当前类方法的名称。

<?php
class Sample
{
    public function myMethod(){
        echo __METHOD__;
    }
}
$obj = new Sample();
$obj->myMethod(); // Displays: Sample::myMethod
?>

__NAMESPACE__

__NAMESPACE__ 常量返回当前命名空间的名称。

示例

Download
<?php
namespace MyNamespace;
class MyClass
{
    public function getNamespace(){
        return __NAMESPACE__;
    }
}
$obj = new MyClass();
echo $obj->getNamespace(); // Displays: MyNamespace
?>
Advertisements