CakePHPでmyappを作り始めるまでの準備その2(bakeでざっくり)

實松アウトプット: CakePHPでmyappを作り始めるまでの準備その1(TortoiseSVNとbake)
http://sane.justblog.jp/blog/2008/02/cakephpmyapp1to.html

の続き行きます。

  1. myapp/configの中のbootstrap.php.default, core.php.default, routes.php.default, database.php.default をコピーしてファイル名から.defaultを削ります。.default無しの方はSVNコミットの際に無視リストに入れて追加しないようにします。
  2. (SQLiteを使うなら)myapp/myapp.sqliteをつくり、これもSVNコミットの際に無視リストに入れます。
  3. myapp/config/core.phpのSecurity.saltの値を書き換えます。
  4. myapp/config/database.phpを編集します。’encoding’ => ‘utf8’を書きます。これはdatabase.php.defaultにも書き加えておきます。また、’database’ =>のところがwebrootから見たパスになるのでSQLiteを使う場合は注意です。フルパスで書いておけば気にしなくていいです。ちなみにこの4はbakeでも出来ますがリネームしたり何なりのついでに編集してしまった方が早いです。
  5. DBにテーブルを作ります。MySQLならphpMySQLAdmin、SQLiteならTkSQLiteが便利です。
  6. c:/path/to/cakephpからコマンドプロンプトを起動します。bakeを使ってテーブルの数だけモデルを作ります。
    c:/path/to/cakephp>cake/console/cake bake -app myapp
    アソシエーションだけ対話式でさっさと作ってしまいます。
  7. bakeを使ってモデルの数だけコントローラを作ります。scaffoldはとりあえず無しで。admin用のindex, edit, add, deleteも作ります。
  8. コントローラに合わせてビューもbakeでざっくり自動生成します。
  9. 作ったコントローラからadmin関連以外のメンバメソッドは消してしまいます。 同様にビューからもadminでないファイルを消してしまいます。これでadmin経由で全部のデータがwebから編集できます。
    このやりかたの利点はモデルのバリデートが活きることです。phpMySQLAdmin等でアクセスした場合には当然全部編集出来るので、そこは使い分けです。

以上です。あとは好きなだけ作りたいように作ればオッケーです。ただしこのやりかただとカラムを変更した場合、admin用のビューをまた作り直す必要があります。まだ試していませんが、admin関連の時だけscaffoldをonにした方が楽かもしれません。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中