ThinkPHP3.2中预定义常量解析

在HOME模块下的Controller文件下直接创建TravelController.class.php文件。代码如下:

<?php namespace Home\Controller; use Think\Controller; class TravelController extends Controller{ public function index(){ echo __ROOT__.'<br>'; // 没有输出 echo __FILE__.'<br>'; // 输出为/home/improvcn/domains/improvcn.com/public_html/Home/Home/Controller/TravelController.class.php echo __CLASS__.'<br>'; // 输出Home\Controller\TravelController echo __COMPILER_HALT_OFFSET__.'<br>'; // 输出__COMPILER_HALT_OFFSET__ echo __DIR__.'<br>'; // 输出 /home/improvcn/domains/improvcn.com/public_html/Home/Home/Controller echo __FUNCTION__.'<br>'; // 输出index echo __LINE__.'<br>'; // 输出15 echo __METHOD__.'<br>'; // 输出Home\Controller\TravelController::index echo __NAMESPACE__.'<br>'; // 输出Home\Controller echo __TRAIT__.'<br>'; // 输出__TRAIT__ echo _PHP_FILE_.'<br>'; // 输出/index.php } }

上述为笔者在自己网站根目录下测试的输出。
对于ThinkPHP中的相关预定义常量的解析如下:

__ROOT__    // 在thinkphp.php中定义
__FILE__    // 输出当前文件的路径
__CLASS__   // 输出当前文件的类
__COMPILER_HALT_OFFSET__    //未定义,暂不清楚
__DIR__ //当前文件所处的路径
__FUNCTION__    //当前函数名
__LINE__    //当前所在的行数
__METHOD__  //当前方法名 相较于__FUNCTION__更详细
__NAMESPACE__   //当前命名空间
__TRAIT__   //未定义,暂不清楚
__PHP_FILE_  //暂不清楚

你可能感兴趣的:(thinkphp)