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

 

posted @ 2019-06-25 14:00  钧一  阅读(985)  评论(0编辑  收藏  举报