bakeとは?
﹁bake﹂とは、CakePHPのMVCによるWebアプリケーションの基本部分を自動生成するためのPHPスクリプトです。
対話型インターフェイスにより、基本的なMVC関係のファイルを超高速で作成することができます。
対話型インタフェースなので、以下のような感じで作業できます。
何を作りましょうか?
まずはモデルを作ってください。
承知しました。バリデーションやアソシエーションはこんな感じでいかがでしょうか?
はい、バッチリです。
モデル作りました。
どうも。次はコントローラを作ってください。
承知しました。一覧/追加/表示/編集/削除の基本的なコントローラを作ります。
はい。
コントローラ作りました。
どうも。次はビューを作ってください。
承知しました。一覧/追加/表示/編集と基本的なビューを作っておきますね。
はい。
ビュー作りました。
どうも。あ、アプリケーションできちゃった!
といった具合です。
ソースコードを書く必要は一切ありません。すごー
では、bakeによる高速開発をはじめましょう。
bakeする前の準備
サンプルで作成するWebアプリケーション
サンプルで作成するWebアプリケーションは、﹁CakePHP ACL アクセス制御リストを攻略する﹂の記事の中で﹁bakeしてね﹂で済ませてしまった、ユーザ管理部分を作りたいと思います。 機能はいたってシンプルで、﹁ロールとユーザについて、それぞれ crud︵一覧/追加/表示/編集/削除︶があって、User belongsTo Role の関係︵各ユーザはいずれかのロールに属している︶﹂というものです。テーブルの作成
ユーザ管理を行う users テーブルと、ロール管理を行う roles テーブルを作成します。CREATE TABLE IF NOT EXISTS `roles` ( `id` int(4) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `created` datetime DEFAULT NULL, `modified` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `users` ( `id` int(4) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `role_id` int(4) NOT NULL, `created` datetime DEFAULT NULL, `modified` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CakePHPのインストール
サンプルでは XAMPPのローカルサーバを使い、c:¥xampp¥htdocs¥bake フォルダにCakePHPをインストールすることにします。bakeを起動する
bakeを使うためには、まず、PHPがある場所と、bakeがある場所を環境変数PATHに登録しておく必要があります。 ﹁なにそれ?﹂と思っても引き返さずに、以下の手順に従って作業してください。 1. コマンドプロンプトを起動 2. phpのある場所に移動 cd c:¥xampp¥php ※XAMPPの場合です。それぞれの環境に合わせて、PHP.EXEのある場所に移動してください。 3. PATH変数に追加 set path=%path%;%cd% 4. CakePHPフィルダの、cake フォルダ内にある console フォルダに移動 cd c:¥xampp¥htdocs¥bake¥cake¥console 5. 再び、PATH変数に追加 set path=%path%;%cd% 6. CakePHPディレクトリに移動 cd c:¥xampp¥htdocs¥bake 7. bake起動 cake bake 以下のように表示されたら、bake起動成功です。 Welcome to CakePHP v1.3.14 Console ————————————————————— App : app Path: C:¥xampp¥htdocs¥bake¥app ————————————————————— Your database configuration was not found. Take a moment to create one. ————————————————————— Database Configuration: ————————————————————— Name: [default] > そのまま、つづきます。データベース設定ファイルを作成
bakeを起動したら、まず最初にデータベース設定ファイルを作成します。 Name: [default] > ﹁設定ファイルの名前は?﹂ 設定ファイルの名前を聞かれているのですが、コマンドプロンプトにはすでに﹁[default] >﹂と表示されています。 bake が﹁これでいいんじゃないですか?﹂という答えをすでに用意してくれているのです。 はい、このままでいいので、なにも入力せずにEnterを押します。[default] Driver: [mysql] > ﹁ドライバーは?﹂ MySQLを使用することにしますので、そのままEnter。[mysql] Persistent Connection: [n] > ﹁持続的接続は行いますか?﹂ そのままEnter。[n] Database Host: [localhost] > ﹁データベースのホスト名は?﹂ そのままEnter。[localhost] Port: [n] > ﹁ポート番号は?﹂ そのままEnter。[n] User: [root] > ﹁データベースにアクセスするユーザ名は?﹂ そのままEnter。[root] ※データベースユーザを登録している場合はそれを入力。 Password: > ﹁データベースにアクセスするパスワードは?﹂ そのままEnter。 ※パスワードを設定している場合はそれを入力。 Database Name: [cake] > ﹁データベースの名前は?﹂ データベース名を入力してEnter。 Table Prefix: [n] > ﹁テーブルのプレフィックス︵接頭語︶は?﹂ そのままEnter。[n] Table encoding: [n] > ﹁テーブルの文字コードは?﹂ ﹁utf8﹂と入力してEnter。 Look okay? (y/n) [y] > ﹁以下の内容でよろしいですか?﹂ ————————————————————— The following database configuration will be created: ————————————————————— Name: default Driver: mysql Persistent: false Host: localhost User: root Pass: **** Database: cake Encoding: utf8 ————————————————————— Look okay? (y/n) [y] > 内容を確認して間違いなければEnter。[y] Do you wish to add another database configuration? [n] > ﹁他のデータベース設定はありますか?﹂ 他のデータベース設定はありませんので、そのままEnter。[n] 以上で、データベース設定ファイル︵database.php︶が作成されました。 app/config フォルダを開いて、database.php が作成されているのを確認してください。 中身も確認しておきましょう。 > app/config/database.php<?php class DATABASE_CONFIG { var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'root', 'password' => 'root', 'database' => 'cake_bake', 'encoding' => 'utf8' ); } ?>できてるッ!! 引き続きMVCを作成していきます。
Comments
[…] 常に分かりやすく丁寧に説明されていましたので、参考になると思います。 http://hijiriworld.com/web/cakephp-bake/ ※CakePHP 2.3のバージョンの画面ではありませんので、見た目が少し違う部 […]
[…] http://blog.verygoodtown.com/2……nutes-cms/ http://hijiriworld.com/web/cakephp-bake/ […]
[…] 参考:http://hijiriworld.com/web/cakephp-bake/ […]
[…] 下記を参考に各ファイル作成 http://hijiriworld.com/web/cakephp-bake/ […]
[…] 下記を参考 http://hijiriworld.com/web/cakephp-bake/ […]
[…] キーボードを3枚叩き割るくらい分かりにくいcakephp bakeの起動方法 Posted on 11月 26, 2012 | Category :Uncategorized | コメントはまだありません 参考:CakePHP bakeによる高速開発 – 虎の巻 […]
[…] では、CakePHP bakeによる高速開発 で作ったアプリケーションを日本語にローカライズしてみましょう。 […]
[…] CakePHP bakeによる高速開発 Bakeの流れを非常に詳しく解説しています。 Categorized under: CakePHP. Tagged with: no tags. […]
[…] Bakeについてはこちら→ CakePHP bakeによる高速開発 […]