Yii入口腳本

入口腳本是負責啓動一個請求處理週期。用戶訪問只是通過PHP腳本。

下圖顯示了一個應用程序的結構 -
Yii入口腳本

Web應用程序(以及控制檯應用程序)具有一個單一入口腳本。終端用戶從入口腳本發起一個請求。然後,入口腳本實例化應用實例並將請求轉發給它們。

控制檯應用程序入口腳本通常存儲在一個項目基本路徑並命名爲yii.php。Web應用程序入口腳本必須存儲在Web訪問的目錄下。它通常是index.php。

入口腳本執行以下操作 -

  • 定義常量

  • 註冊 Composer 自動加載

  • 包括 Yii 文件

  • 加載配置

  • 創建和配置一個應用程序實例

  • 處理傳入的請求

以下是基本的應用程序入口腳本的模板-

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文件時生效。