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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM