PHP 介紹魔術常數
分類
建立時間: 2023年9月5日 01:02
更新時間: 2023年9月5日 01:08
說明
魔術常數可以印出當前腳本的資訊,比較常在複雜的程式設計中看到。
魔術常數
名字 | 說明 |
---|---|
__CLASS__ |
當前類的名稱。類名包括其被聲明的作用域(例如 Foo\Bar)。當用在 trait 方法中時,__CLASS__ 是調用 trait 方法的類的名字。 |
__DIR__ |
文件所在的目錄。如果用在被包括文件中,則返回被包括的文件所在的目錄。它等價於 dirname(__FILE__ )。除非是根目錄,否則目錄中名不包括末尾的斜杠。 |
__FILE__ |
文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。 |
__FUNCTION__ |
當前函數的名稱。匿名函數則為 {closure}。 |
__LINE__ |
文件中的當前行號。 |
__METHOD__ |
類的方法名。 |
__NAMESPACE__ |
當前命名空間的名稱。 |
__TRAIT__ |
Trait 的名字。 Trait 名包括其被聲明的作用域(例如 Foo\Bar)。 |
ClassName::class |
完整的類名。 |
範例
<?php
namespace Foo;
function output()
{
echo 'Current function: ' . __FUNCTION__ . '<br>';
}
trait ABC
{
public function traitOutput()
{
echo 'Current trait: ' . __TRAIT__ . '<br>';
}
}
class Bar
{
use ABC;
public function barOutput()
{
echo 'Current class: ' . __CLASS__ . '<br>';
echo 'Current directory: ' . __DIR__ . '<br>';
echo 'Current file: ' . __FILE__ . '<br>';
echo 'Current line: ' . __LINE__ . '<br>';
echo 'Current method: ' . __METHOD__ . '<br>';
echo 'Current namespace: ' . __NAMESPACE__ . '<br>';
}
}
output();
$obj = new Bar();
$obj->barOutput();
$obj->traitOutput();
echo 'obj class name: ' . $obj::class . '<br>';
輸出
Current function: Foo\output
Current class: Foo\Bar
Current directory: www
Current file: www/example.php
Current line: 27
Current method: Foo\Bar::barOutput
Current namespace: Foo
Current trait: Foo\ABC
obj class name: Foo\Bar
參考
觀看次數: 570
constantmagicphp
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!