進階應用程式模闆
這個模闆用在大型的團隊開發項目中,而且背景從前台獨立分離出來以便于部署在多個伺服器中。由于YIi2.0的一些新的特性,這個程式模闆的功能要更深一點。提供了基本的資料庫的支援,注冊、密碼找回等功能。
安裝
可以通過Composer來安裝
如果沒有安裝Composer,先安裝
然後用如下指令來擷取
也可以直接下載下傳壓縮檔案
開始
安裝完成後,需要對其進行初始化操作。
執行init,選擇開發環境(dev)
php /path/to/yii-application/init
複制代碼
建立新的資料庫,設定common/config/main-local.php裡的components.db資料庫資訊
使用控制台指令遷移資料庫
yii migrate
設定web伺服器的根目錄
前台/path/to/yii-application/frontend/web/對應的url為http://frontend/
背景/path/to/yii-application/backend/web/對應的url為http://backend/
目錄結構
在根目錄下面有這幾個子目錄
backend——背景web程式
common——公共的檔案
console——控制台程式
environments——環境配置
frontend——前台web程式
根目錄下面還有包含一些檔案
.gitignore ——git版本控制中忽略的檔案和目錄,如果你有一些你不想要的檔案到你的源代碼裡面就把它添加到這個檔案中。
composer.json——這個下面會描述
init——在Composer裡面所描述初始化腳本
init.bat——和上面一樣,不過是Windows下面的
LIENSE.md——這個就不說了
README.md——同上
requirements.php——Yii運作環境要求檢測檔案
yii——控制台程式引導檔案
yii.bat——Windows下面的東東
系統定義的路徑别名
@yii ——架構的目錄。
@app——目前正在運作的應用程式的基本路徑。
@common -公共檔案目錄。
@frontend——前端web應用程式目錄。
@backend ——後端web應用程式目錄。
@console -控制台目錄。
@runtime——目前正在運作的web應用程式的運作時目錄
@vendor ——基礎架構目錄。
@web ——目前正在運作的web應用程式的url
@webroot——目前正在運作的web應用程式的web根目錄。
應用程式
這個模闆包含三個應用程式,前台、背景和控制台。前台通常來說就是展現給終端使用者的,也就是項目本身。背景就是管理者控制台,包含有分析以及類似的功能等。控制台主要用來做一些定時任務和一些簡單的伺服器的管理,另外也可以用來部署應用程式、資料庫的遷移、資源的管理等。
common
目錄提供一些公共的檔案,可用于多個應用程式,例如User模型。
前台和背景都是web應用程式,他們都包含一個web目錄,也就是web的根目錄,在部署伺服器的時候就得要指向這個目錄。
每個應用程式都有他們自己的命名空間以及對應的别名。同理,common也有自己的命名空間和對應的别名。
配置和開發環境
在平常的開發中,直接設定配置檔案會有多個問題
每個團隊成員都有自己的配置選項。如果送出這樣的配置将影響其他團隊成員。
産品資料庫密碼和API密鑰不應該在代碼倉庫中。
在有多個伺服器的情況下:開發、測試、生産,每一個伺服器都應該有自己的配置。
每種情況下都定義所有配置選項很重複,并且還要花太多的時間去維持它。
為了解決這些問題,Yii引入了一個非常簡單的環境的概念。每個環境由環境目錄下的一組檔案的集合來表示。init指令用于不同環境之間切換。它隻是複制從環境目錄中所有應用程式的根目錄。
通常環境包含應用程式引導檔案如index.php和以-local.php字尾的配置檔案。這些已經添加到.gitignore中,是以不會再添加到源碼倉庫中。
為了避免重複的配置檔案互相覆寫。例如,前台應用程式按照以下順序來讀取配置:
common/config/main.php
common/config/main-local.php
frontend/config/main.php
frontend/config/main-local.php
參數檔案按以下順序讀取
common/config/params.php
common/config/params-local.php
frontend/config/params.php
frontend/config/params-local.php
後面讀取的檔案配置會覆寫前面的配置
整個的流程圖形如下
配置
Composer
應用程式安裝完成後就可以設定要目錄下面的composer.json
首先,修改一些基本資訊。例如名稱,描述,關鍵詞,首頁等等。
你還可以根據你的需要添加更多的應用程式。這些包都是來自packagist.org,可免費的浏覽所有的代碼。
修改完composer.json之後
就可以運作
,等下載下傳并安裝完成後就可以開始使用了。自動加載的類将會自動處理。
建立從後端到前端的連結
通常情況下需要從後端應用程式連接配接到前端應用程式。因為前端應用程式可能包含自己的URL管理規則,是以需要再添加一個不同名字的背景的URL管理規則。
之後,就可以像這樣來使用前台的url