PHP的八個魔術常量
阿新 • • 發佈:2020-07-30
1. 什麼魔術常量
預定義常量:預定義常量就是PHP內建的常量,預先定義好的
PHP有很多預定義常量,比如:PHP_VERSION(版本號)、PHP_OS(作業系統)。
這些普通的預定義常量在程式中的值是固定的,不會因為在不同的位置而改變自身的值。
在PHP有八個特殊的預定義常量,它們的值會隨著它們在程式碼中的位置改變而改變,我們稱之為魔術常量。
2. PHP的8個魔術常量
序號 | 魔術常量 | 示例 | 描述 |
---|---|---|---|
1 | __LINE__ | 5 | 返回魔術常量輸出時所在的行號 |
2 | __FILE__ | E:\www\1.php | 返回檔案路徑(絕對路徑) |
3 | __DIR__ | E:\www | 返回檔案所在的目錄,當前檔案位置:E:\www\1.php |
4 | __FUNCTION__ | taskList | 返回函式名稱,區分大小寫,不在函式中時返回空字串 |
5 | __CLASS__ | app\controller\User | 返回當前所在類名,包含名稱空間,區分大小寫 |
6 | __METHOD__ | app\controller\User:test | 返回當前所在方法名,包含名稱空間,區分大小寫 |
7 | __NAMESPACE__ | app\controller | 返回當前名稱空間,區分大小寫 |
8 | __TRAIT__ | app\controller\Person | 返回當前所在Trait名,包含名稱空間,區分大小寫 |
3. 使用示例
前四個魔術常量
<?php
echo __LINE__;//3
echo __FILE__;//E:\www\1.php
echo __DIR__;//E:\www
echo userList();//userList
function userList()
{
echo __FUNCTION__;
}
後四個魔術常量
<?php namespace app\controller; trait Person { public static function demo() { echo __TRAIT__;//app\controller\Person } } class User { use Person; public static function test() { echo __CLASS__;//app\controller\User echo __METHOD__;//app\controller\User::test } } User::test(); User::demo(); echo __NAMESPACE__;//app\controller