1. 程式人生 > 實用技巧 >PHP的八個魔術常量

PHP的八個魔術常量

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