Yii入口脚本 Yii应用程序结构 Yii控制器 条目脚本负责启动请求处理周期。它们只是用户可访问的PHP脚本。 下图显示了应用程序的结构 - Web应用程序(以及控制台应用程序)只有一个入口脚本。最终用户向输入脚本发出请求。然后入口脚本实例化应用程序实例并将请求转发给它们。 控制台应用程序的输入脚本通常存储在项目基本路径中,并命名为 yii.php 。Web应用程序的入口脚本必须存储在可访问Web的目录下。它通常被称为 index.php 。 Entry脚本执行以下操作 - 定义常量。 Register Composer自动加载器。 包括Yii文件。 加载配置。 创建并配置应用程序实例。 处理传入的请求。 以下是 基本应用程序 模板的入门脚本- <?php //defining global constants defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV', 'dev'); //register composer autoloader require(__DIR__ . '/../vendor/autoload.php'); //include yii files require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); //load application config $config = require(__DIR__ . '/../config/web.php'); //create, config, and process reques (new yii\web\Application($config))->run(); ?> 以下是 控制台 应用程序的入口脚本- #!/usr/bin/env php <?php /** * Yii console bootstrap file. * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ //defining global constants defined('YII_DEBUG') or define('YII_DEBUG', true); //register composer autoloader require(__DIR__ . '/vendor/autoload.php'); require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php'); //load config $config = require(__DIR__ . '/config/console.php'); //apply config the application instance $application = new yii\console\Application($config); //process request $exitCode = $application->run(); exit($exitCode); ?> 定义全局常量的最佳位置是入口脚本。有三个Yii常量支持 - YII_DEBUG - 定义您是否处于调试模式。 如果设置为true,那么我们会看到更多的日志数据和详细错误调用堆栈。 YII_ENV - 定义环境模式。 默认值是prod。可用的值是prod,dev和test。它们在配置文件中用于定义,例如,不同的数据库连接(本地和远程)或其他值。 YII_ENABLE_ERROR_HANDLER - 指定是否启用默认的Yii错误处理程序。 要定义一个全局常量,使用下面的代码 - //defining global constants defined('YII_DEBUG') or define('YII_DEBUG', true); which is equivalent to: if(!defined('YII_DEBUG')) { define('YII_DEBUG', true); } 注 - 全局常量应该在条目脚本的开头定义,以便在包含其他PHP文件时生效。 Yii应用程序结构 Yii控制器