首页 > PHP开发 > Yii1 > Yii框架官方教程增补篇5——基础知识:入口脚本
2014
11-07

Yii框架官方教程增补篇5——基础知识:入口脚本

入口脚本是处理用户的初始引导PHP脚本。它是唯一一个最终用户可直接请求执行的PHP脚本。

多数情况下,一个 Yii 应用的入口脚本包含像下面这样简单的脚本:

// 在生产环境中请删除此行
defined('YII_DEBUG') or define('YII_DEBUG',true);
// 包含Yii引导文件 require_once('path/to/yii/framework/yii.php');
// 创建一个应用实例并执行
$configFile='path/to/config/file.php';
Yii::createWebApplication($configFile)->run();

脚本首先包含了 Yii 框架的引导文件 yii.php。然后他按指定的配置创建了一个Web 应用实例并执行。

调试模式

Yii 应用可以按常量 YII_DEBUG 的值运行在调试或生产模式。默认情况下,此常量值定义为 false, 意为生产模式。要运行在调试模式中则需要在包含 yii.php 文件之前定义此常量为 true。 在调试模式中运行应用效率较低,因为它要维护许多内部日志。另一角度讲,调试模式在开发环境中非常有用, 因为它在错误产生时提供了丰富的调试信息。

defined('YII_DEBUG') or define('YII_DEBUG',true);

等价于:

if (!defined('YII_DEBUG')) {
    define('YII_DEBUG', true);
}

简而言之就是如果没有启用调试模式则启用之。

此外还可以定义调试回调栈的层级:

defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);

回调栈就是包含、调用文件及函数的历史,在框架中,往往简单的首页加载就会包含很对动作,为了严格保证日志数据最新和大部分有用的信息,回调栈限制行数到最新的三个动作。如果你觉得需要更多的调试信息,可以改变YII_TRACE_LEVEL这个值。

在检查调试配置时,建议最好确保PHP的display_errors设置开启,否则错误解析会被输出到一个空白的屏幕上。

编程技巧