應用主體是管理 YII框架 應用系統整體結構和生命周期的對象。 每個 yii 應用系統只能包含一個應用主體,應用主體在?入口腳本?中創建并能通過表達式?yii::$app?全局范圍內訪問。
信息:?當我們說“一個應用”,它可能是一個應用主體對象,也可能是一個應用系統,?是根據上下文來決定[譯:中文為避免歧義,Application?翻譯為應用主體]。
Yii有兩種應用主體:?網頁應用主體?和?控制臺應用主體, 如名稱所示,前者主要處理網頁請求,后者處理控制臺請求。
應用主體配置? ? ? ? ? ? ? ?(推薦學習:yii框架)
如下所示,當?入口腳本?創建了一個應用主體, 它會加載一個?配置?文件并傳給應用主體。
require?__DIR__?.?'/../vendor/autoload.php'; require?__DIR__?.?'/../vendor/yiisoft/yii2/Yii.php'; //?加載應用主體配置 $config?=?require?__DIR__?.?'/../config/web.php'; //?實例化應用主體、配置應用主體 (new?yiiwebApplication($config))->run();
類似其他 配置 文件, 應用主體配置文件標明如何設置應用對象初始屬性。 由于應用主體配置比較復雜,一般保存在多個類似如上web.php的 配置文件 當中。
應用主體屬性
應用主體配置文件中有許多重要的屬性要配置,這些屬性指定應用主體的運行環境。 比如,應用主體需要知道如何加載 控制器 , 臨時文件保存到哪兒等等。 以下我們簡述這些屬性。
必要屬性
在一個應用中,至少要配置2個屬性: id 和 basePath。
id
id 屬性用來區分其他應用的唯一標識ID。主要給程序使用。 為了方便協作,最好使用數字作為應用主體ID, 但不強制要求為數字。
basePath
basePath 指定該應用的根目錄。 根目錄包含應用系統所有受保護的源代碼。 在根目錄下可以看到對應 mvc 設計模式的models, views,controllers 等子目錄。
可以使用路徑或 路徑別名 來在配置 basePath 屬性。 兩種格式所對應的目錄都必須存在,否則系統會拋出一個異常。 系統會使用 realpath() 函數規范化配置的路徑。
basePath 屬性經常用于派生一些其他重要路徑(如 runtime 路徑), 因此,系統預定義 @app 代表這個路徑。 派生路徑可以通過這個別名組成(如@app/runtime代表runtime的路徑)。