PHP 预定义常量(魔术常量)
显示当前代码在多少行
__LINE__
echo __LINE__;
获取当前文件绝对路径
__FILE__
echo __FILE__; //结果为: // D:\xxxx\xxxx\xxxx\index.php
获取当前文件所在的目录
__DIR__
echo __DIR__; //结果为: // D:\xxxx\xxxx\xxxx
获取当前方法的名称
__FUNCTION__
function test() { echo __FUNCTION__; } test(); //结果为: //test
获取当前方法的名称
当单独存在的时候跟__FUNCTION__的返回值是一样的;
但是,当和__FUNCTION__处于同一个类的时候,__METHOD__前面会多出一个类名.如 类名::方法名
class Test{ public function doit(){ echo __FUNCTION__; } public function doitAgain(){ echo __METHOD__; } } $obj = new Test(); $obj->doit(); echo '<br>'; $obj->doitAgain(); // 结果为: // doit // Test::doitAgain
获取当前类的名称
__CLASS__
class test { function l() { echo __CLASS__; } } (new test)->l(); // 结果为: // test
获取当前命名空间的名称,也就是namespace的名称
__NAMESPACE__
namespace xxxx\index; echo __NAMESPACE__; //结果为: // xxxx\index