输入脚本负责启动请求处理周期。它们只是用户可访问的PHP脚本。
下图显示了应用程序的结构:
Web应用程序(以及控制台应用程序)具有单个输入脚本。最终用户向输入脚本发出请求。然后,入口脚本实例化应用程序实例并将请求转发给它们。
控制台应用程序的输入脚本通常存储在项目的基本路径中,并命名为yii.php。Web应用程序的输入脚本必须存储在Web可访问目录下。它通常称为index.php。
Entry脚本执行以下操作-
以下是基本应用程序模板的输入脚本-
<?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常数支持三个-
要定义全局常量,请使用以下代码-
//defining global constants defined('YII_DEBUG') or define('YII_DEBUG', true); which is equivalent to: if(!defined('YII_DEBUG')) { define('YII_DEBUG', true); }
注–全局常量应在输入脚本的开头定义,以便在包含其他PHP文件时生效。