第一章 - 準備好環境
這篇文章會示範如何使用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/
留言列表