第一章 - 準備好環境



這篇文章會示範如何使用CakePHP建立一個沒什麼用的網頁程式 :p
環境為 Apache + PHP5 + MySQL5

首先, 去CakePHP官網把最新版的檔案下載回來.
我寫這篇文章時, 最新版是 cake_1.2.0.7125-rc1.tar.gz

把 cakephp 整套 framework 放在任一目錄(我是放在 home directory下)

cd ~ && tar zxvf cake_1.2.0.7125-rc1.tar.gz

這樣就裝好啦, 下一章會示範怎麼烤出一個基本款的蛋糕 :p


第二章 - 烤基本款蛋糕的準備


我打算弄個簡單的應用來示範, 基本上只用到了兩個table - users and books
概念上就是存放那些用戶擁有那些書

首先:
開個database cake
開兩個table - users and books

CREATE TABLE IF NOT EXISTS `books` (
`id` bigint(20) NOT NULL auto_increment,
`name` varchar(200) collate utf8_unicode_ci NOT NULL,
`user_id` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

CREATE TABLE IF NOT EXISTS `users` (
`id` bigint(20) NOT NULL auto_increment,
`name` varchar(200) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

接下來開始烤蛋糕囉!!


第三章 - 烤基本款蛋糕


我打算把整個應用的網址放在 http://ooxx.xxoo/~yourname/caketest/ 之下,
所以實際專案會放在 ~yourname/public_html/caketest/ 下.

我會利用CakePHP內附的bake.php工具來快速建立這個應用.

bake.php 是 cakephp 中的一隻 command line script
用途是來快速建立 app, model, controller, view 樣版

可以用以下語法查bake.php的使用說明
cd ~/ && php cake_1.2.0.7125-rc1/cake/console/cake.php bake help

最後都會問你要不要 test suite, 先都選 no 吧.


步驟如下:
1. 建立 project 基本環境
php cake_1.2.0.7125-rc1/cake/console/cake.php bake project ~/public_html/caketest/
enter敲兩下, 就會把相關目錄跟檔案建起來

2. 設定資料庫連線相關設定
php cake_1.2.0.7125-rc1/cake/console/cake.php bake -app ~/public_html/caketest/ db_config
設定好db host/username/password/db name, 其他用預設值即可.

3. 建立 model
php cake_1.2.0.7125-rc1/cake/console/cake.php bake -app ~/public_html/caketest/ model
建 Book Model - Book belongsTo User
建 User Model - User hasMany Book
validation criteria都先不設定

4. 建立 controller
php cake_1.2.0.7125-rc1/cake/console/cake.php bake -app ~/public_html/caketest/ controller
建 Book and User Controller
一律使用scaffolding

5. 建立 view
php cake_1.2.0.7125-rc1/cake/console/cake.php bake -app ~/public_html/caketest/ view
建 Book and User Views
一樣使用scaffolded views, admin routing就選no吧

6. 實際測試
由於是擺在自己家的目錄, 所以要修改.htaccess
cd ~/public_html/caketest/
./htaccess:
webroot/ -> /~yourname/caketest/webroot/

webroot/.htaccess:
index.php -> /~yourname/caketest/webroot/index.php


Ref: http://blog.darkhero.net/articles/view/170


第四章 - 吃蛋糕囉



請享用 http://ooxx.xxoo/~yourname/caketest/users/

arrow
arrow
    全站熱搜

    Izero 發表在 痞客邦 留言(1) 人氣()