PHP 魔術常量
在本教程中,你將學習如何使用 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 中使用,則返回包含檔案的名稱。
例
<?php
// Displays the absolute path of this file
echo "The full path of this file is: " . __FILE__;
?>
__DIR__
__DIR__
常數返回檔案的目錄。如果在 include 中使用,則返回包含檔案的目錄。這是一個例子:
例
<?php
// Displays the directory of this file
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__
常數返回當前名稱空間的名稱。
例
<?php
namespace MyNamespace;
class MyClass
{
public function getNamespace(){
return __NAMESPACE__;
}
}
$obj = new MyClass();
echo $obj->getNamespace(); // Displays: MyNamespace
?>