2013年6月28日 星期五

用 Eclipse 開發 Yii Web Application (ㄧ)

如果安裝了 Yiiclipse 我們就可以用 Eclipse 來開發我們的 Yii Web Application 了
首先從 Eclipse 選單中 File -> New -> Other...

選擇 Yiiclipse 下的 New Yii Framework Project
輸入你的專案名稱 (本例我輸入 MyWebsite)
預設本專案的相關檔案會被建立在你開啟Eclipse 所選的 workspace 下, 例如: /home/vincentliu/workspace/MyWebsite
你也可以將 Use default location 前的勾點掉, 自己選擇你想放的位置, 但請注意你選的位置的目錄權限要是可以讓你這個帳號能讀寫的目錄, 否則後續很多問題會產生。
接著你可以按 Finish, 讓 Yiiclipse 直接幫你產生相關檔案目錄, 也可以按 Next 設定更多, 這裡我們選 Next 看看還有什麼可以設定的。
接著你要告訴 Eclipse(Yiiclipse) 你一開始安裝 Yii 所在的目錄, 以我為例, 放在 /var/www/yii, 因此選 Use local 並在下面 Path 的地方選 /var/www/yii, 並按 Finish 完成我們專案的設定。
當然你也可以選下面的 Download 並選擇 Yii Framework 的版本(目前有 1.1.13-RC, 1.1.12, 1.1.11 及 1.0.12 四個大版本可選), 並選你要解壓縮(安裝) Yii 的路徑, 按 Next 即可下載並安裝你選的版本。
一旦設定好你可以在你的 Eclipse 的 Package Explorer 中看到以我們剛剛命名的專案名稱開頭的目錄結構。
我們可以看一下, 在 protected 目錄下有 controllers, models 及 views 這就是 Yii 裡的 MVC。
我們可以仔細看一下 controllers, models 及 views 目錄下的檔案, 除了views 目錄下有建一個子目錄 layouts  之外, 其餘都沒有任何資料, 如下面兩張圖所示。


所以如果想利用 yii 快速建立一個可以運作的網頁應用程式, 然後再拿來改建議用 yii 本身附的 command line, yiic, 來幫助我們建立一個基本的網頁應用程式的框架, yiic 所在位置在我安裝的 yii 下的 framework 目錄下。
我們先 cd 至我們 eclipse workspace 的目錄, 然後用絕對路徑的方式指名要執行的yiic, 例如:
/var/www/yii/framework/yiic webapp MyWebSite

選擇 yes 後, yiic 會幫我們產生許多相關的檔案, 但目錄結構其實是和用 yiiclipse 產生的相似的, 只是 yiic 會產生更多的會用到的目錄與檔案。

 我們可以看到上圖, 紅色框出來的目錄或檔案是yiic 產生, 而 yiiclipse 沒有的; 注意其中還幫我們在我們的專案下面建立了 yiic, 所以下次要用 yiic 就可以直接用這個就可以了。
yiic 本身功能還滿多的, 甚至他還可以進到他的 shell 模式, 不過要在 index.php 目錄下(即 MyWebSite 目錄)執行。指令為: yiic shell, 離開 shell 可以以指令 exit 回到 linux 中。

大家如果想了解更多 yiic 的用法, 可以參考 yii 官方網站裡的文章, 連結在此
另外 yii 還提供了一個網頁圖形界面的工具, 功能類似 yiic 的 gii, 後面我們會在跟大家介紹。

好了, 一旦用yiic 建立好了網頁應用程式的框架, 那他包含了哪些基本功能呢? 為了讓我們可以用網頁瀏覽, 我將放在我目錄下的專案連結到我的 apache 的 document root 下(即 /var/www)
cd /var/www
sudo ln -s /home/vincentliu/workspace/MyWebSite MyWebSite
 然後我們可以開瀏覽器來看看 yiic 幫我們建立的網站架構
在瀏覽器網址輸入: localhost/MyWebSite

我們可以看到首頁裡有基本一個網頁應用程式該有的東西(Title, 數個頁籤, 網頁內容, 還有版權宣告), 網頁內容還告訴我們如果要改變網頁內容或layout該去哪個檔案修改。
點一下 About,
我們還可以看到breadcrumbs(紅色框起來的地方)
點一下 Contact,
除了基本的 Form 外, 還幫我們做好了圖形驗證碼 Captcha
點一下 Login,
可以試著登入看看, 有兩個預設的帳號/密碼, demo/demo 及 admin/admin代表一般使用者與有權限的管理者。

我以 demo 帳號登入後, 會導回首頁, 注意原本 login 的地方, 變成 logout(demo)了。
如果你要修改成你自己的帳號密碼驗證可以去修改 protected/components/UserIdentity.php 這個檔案。

沒有留言:

張貼留言