YII Framework 2.0 Alpha 於昨日推出,這樣代表大架構應該不太會變動了,之前一直沒去關注 Preview 的版本就是怕變動太多,今天就來好好玩一下Alpha 版本。
目前看來 YII2 導入了 composer 的套件管理模式,所以創建一個 YII2 的應用不是像以前一樣用 yii 命令來生成一個基本 Web App,雖然 yii 命令也仍存在,但是和第一代比較起來,不能建立 app/controller/model 等,不知道未來會不會加上去,不過沒關係,看樣子 gii 這東西還存在,所以接下來可以用很簡單的方式來建立起 Yii2 的應用。
安裝前的準備
以下是以 Windows 為例子,應該 Linux 也是差不多吧
- PHP 版本必須 5.4 以上,YII2 的最低需求
- 安裝 composer ,請到 http://getcomposer.org/ 下載 Windows 安裝檔來安裝即可。
- Git Windows 版,建議安裝,因為目前 YII2 尚未 stable 所以文件中都是以 dev 的版本來教的,就會用到 git,請到 http://code.google.com/p/msysgit/ 下載安裝檔回來裝就行了,安裝時看下面這張圖會遇到的步驟建議選第二個選項這樣等下才不會出錯。
創建第一個 Yii 應用
我個人習慣在 Windows 上當作開發環境測試,通常我會在 Apache 中設定 alias 的路徑來測試開發項目,例如 http://127.0.0.1/projects 是我所有開發測試的根目錄,而真實路徑可能會是 c:\projects,等下我就要建立一個名稱叫做 basic 的 Yii 專案,所以 basic 這個 App 的 Url 將會是 http://127.0.0.1/projects/basic ,我會用這個 Url 做解說。
第一步,用 composer 直接建立 basic 專案
這必須於 Console 端操作,也就是打開命令提示字元(DOS 視窗),以下範例是以 dev 版本(GitHub上的開發版)來安裝
cd \projects composer create-project --stability=dev yiisoft/yii2-app-basic basic
這個步驟會以 composer 下載所有需要的檔案,並且於 c:\projects 下建立一個名稱為 basic 的文件夾,這個 basic 文件夾一旦被建立成功,就已經是一個基本的 Yii 應用了。
如果想要直接用 alpha 版本,或日後有 beta 版本,把 --stability 改成 alpha 來安裝也行,如下
cd \projects composer create-project --stability=alpha yiisoft/yii2-app-basic basic
接著會看到安裝過程
第二步,測試瀏覽器是否能開啟 basic 專案
若依照我個人的 Url 設定,輸入以下網址就可以看到畫面
http://127.0.0.1/projects/basic/web
若畫面是這樣~恭喜,這樣就成功了,我們得到了一個漂亮的 boostrap 的版型的 Yii 應用。不過 Url 有些怪,一定得後面打個 basic/web 嗎?
其實這日後都可以依照需求改的,整個 Yii basic 專案下面會發現很多子目錄,各有作用,這裡不多說,有興趣的人可以自行參考官方網站文件,不難。
設定 Gii 模組
由於目前這個版本看樣子無法由 Console 端建立 controller model 等,所以只能手寫或是用 Yii 提供的 Gii 模組來建立,Gii 這玩意兒簡單來說就是以Web來管理 Yii 專案的工具。
首先到 basic/config 下找到 web.php 加入一行到 $config 中,如下
'modules' => [ 'gii' => ['yii\gii\Module'], ],
加上去之後應該整串會是這樣
$config = [ 'id' => 'basic', // ..... 略 'modules' => [ 'gii' => ['yii\gii\Module'], ], 'params' => $params, ];
接下來瀏覽器輸入以下 URL 會看到 Web 版的管理介面
http://127.0.0.1/projects/basic/web/index.php?r=gii
超漂亮的管理介面,這次 YII2 導入 bootstrap 之後真的很賞心悅目,雖然沒有 console 端的介面可以操作程式碼自動產生,但是用 Gii 一樣可以。
最後
以上只是初步的讓一個 Yii 專案跑起來,尚未涉及到如何創建 Model 對應資料庫,基本上能跑到這個地步的,最好藉由官方提供的文件一步步來學習整個 Yii 架構。
現在官方的文件都還在 GitHub ,還沒有放到 Yii 官方網站,都是 Markdown 語法的,不過還可以接受
相關 LINK
- YII 官方網站 : http://www.yiiframework.com/
- YII2 GitHub : https://github.com/yiisoft/yii2
- YII2 的說明文件 : https://github.com/yiisoft/yii2/blob/master/docs/guide/index.md
有興趣玩的人互相研究看看吧