ThinkPHP3.2中预定义常量解析
在HOME模块下的Controller文件下直接创建TravelController.class.php文件。代码如下:
<?php
namespace HomeController;
use ThinkController;
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>";
// 输出HomeControllerTravelController
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>";
// 输出HomeControllerTravelController::index
echo __NAMESPACE__."<br>";
// 输出HomeController
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_ //暂不清楚
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。