FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

極めて簡単に CakePHP プロジェクトのスケルトンを作る方法

とっても簡単に CakePHP のスケルトンのコードを作る方法をメモしておく。

CakePHP のインストール(というよりツリーコピー)が済んでいるものとして、
app/tmp ディレクトリのパーミッション or 所有者の設定は済んでいるものとする。



■スケルトンアプリの概要。

この操作でできるアプリは次のようなものである。

1.テーブルが2つあり、親子関係(1対多)になっている。
2.それぞれのテーブルテータの追加、編集、削除、一覧表示を、画面から操作可能。

以下に手順を示す。


■あらかじめテーブルを作成しておく。

MySQL で以下のデータベース及びテーブルを作成しておく。
これは、MySQLでの操作となる。


mysql>create database test_db;
mysql>use test_db;

mysql>CREATE TABLE ahos (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
aho_name VARCHAR(255) NOT NULL UNIQUE,
baka_id INT(11) NOT NULL,
created DATETIME,
modified DATETIME
);

mysql>CREATE TABLE bakas (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
baka_name VARCHAR(100) NOT NULL,
created DATETIME,
modified DATETIME
);


ahos テーブルが子で、bakas テーブルが親である。

重要な点は、テーブル ahos の baka_id カラムだ。
これによって、CakePHPはテーブルの親子関係を知ることができる。
"baka_id" というカラム名を付けることで、CakePHP が、自動的に "bakas"テーブルのIDであると認識してくれるのだ。


■app/config/database.phpの作成と編集

app/config/database.php.default を app/config/database.phpにコピーして、中身を編集する。

このファイル内に以下のような個所があるので、データベース名やパスワードを適宜変更しておく。


var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'hoge',
'database' => 'test_db',
'prefix' => '',
'encoding' => 'utf8'
);




■bake する

以下のコマンドを実行する。

#cd /var/www/html/cakephp/cake/console
#./cake bake all


すると、以下のようなプロンプトが出力される。

Welcome to CakePHP v1.3.9 Console
---------------------------------------------------------------
App : app
Path: /var/www/html/cake03/app
---------------------------------------------------------------
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Use Database Config: (default/test)
[default] >

ここはそのままリターンを入力する。

すると、以下のようなプロンプトが出力される。
先ほど作成したテーブル(に対するモデル名 Aho, Baka)が並んでいる。

Possible Models based on your current database:
1. Aho
2. Baka
Enter a number from the list above,
type in the name of another model, or 'q' to exit
[q] >

1を入力する。
すると、ahosテーブルに関連する controler/view/model が app ディレクトリに作成される。


再度、
#./cake bake all
コマンドを実行して、今度は 2. Baka を選択する。
すると、bakasテーブルに関連する contorller/view/modelが生成される。


ブラウザから、
http://localhost/cakephp/ahos
などにアクセスすると、それぞれのテーブルの一覧画面や、レコード追加画面が表示される。
スポンサーサイト
コメント
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。