PHP 预定义常量(魔术常量)

显示当前代码在多少行
__LINE__

echo __LINE__;


获取当前文件绝对路径
 __FILE__

echo __FILE__;
//结果为:
// D:xxxxxxxxxxxxindex.php

获取当前文件所在的目录
__DIR__

echo __DIR__;
//结果为:
// D:xxxxxxxxxxxx

获取当前方法的名称
__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 xxxxindex;
    echo __NAMESPACE__;
    //结果为:
    //   xxxxindex
原文地址:https://www.cnblogs.com/junyi-bk/p/11082458.html