魔術(Magic)常數是PHP中預先定義的常數,這些常數可以根據它們的使用位置而變化。本篇文章就來帶大家認識PHP魔術常數,介紹一些常用的PHP魔術常數,希望對大家有幫助。
魔術常數以兩個底線(__)開頭,以兩個底線(__)結束。下面我們就來介紹一些常用的PHP魔術常數。
__LINE__
__LINE__常數會傳回檔案的目前行號。範例:
<?php header("content-type:text/html;charset=utf-8"); echo "当前行数:" . __LINE__ . "<br>"; // 第3行 echo "当前行数:" . __LINE__ . "<br>"; // 第4行 echo "当前行数:" . __LINE__ . "<br>"; // 第5行 ?>
輸出:
#__FILE__
##__FILE__常數傳回正在執行的PHP檔案的完整路徑和名稱;如果在include中使用,則傳回包含檔案的名稱。<?php header("content-type:text/html;charset=utf-8"); // 显示此文件的绝对路径 echo "此文件的完整路径是: " . __FILE__; ?>輸出:
#__DIR__
__DIR__常數傳回檔案的目錄。如果在include中使用,則傳回包含檔案的目錄。範例:<?php header("content-type:text/html;charset=utf-8"); // 显示此文件的目录 echo "此文件的目录是: " . __DIR__; ?>輸出:
#__FUNCTION__
<?php header("content-type:text/html;charset=utf-8"); function myFunction(){ echo "函数名是:" . __FUNCTION__; } myFunction(); ?>輸出:
#__CLASS__##__CLASS__常數傳回目前類別的名稱。
<?php header("content-type:text/html;charset=utf-8"); class MyClass { public function getClassName(){ return __CLASS__; } } $obj = new MyClass(); echo $obj->getClassName(); ?>
輸出:
#__METHOD__##__METHOD__常數傳回目前類別方法的名稱。
<?php header("content-type:text/html;charset=utf-8"); class Sample { public function myMethod(){ echo __METHOD__; } } $obj = new Sample(); $obj->myMethod(); ?>輸出:
##__NAMESPACE__常數傳回目前命名空間的名稱。 <?php
// 定义代码在 'MyNamespace' 命名空间中
namespace MyNamespace;
class MyClass
{
public function getNamespace(){
return __NAMESPACE__;
}
}
$obj = new MyClass();
echo $obj->getNamespace(); // Displays: MyNamespace
?>
#輸出:
以上是PHP中的魔術常數是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!