牛骨文教育服务平台(让学习变的简单)
博文笔记

ThinkPHP3.2中预定义常量解析

创建时间:2015-11-03 投稿人: 浏览次数:908

在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_  //暂不清楚
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。