CakePHPのプロジェクトを素早く立ち上げるためのプラグインKickstartを以前ご紹介しましたが、それに関連して、CakePHPのプロジェクトのひな形を提供するskelを公開しています。
nojimage/CakePHP-skel – GitHub
https://github.com/nojimage/CakePHP-skel
※このプラグインはCakePHP1.3向けです。
※08/25 appディレクトリを対象とするbakeについて追記しました。
インストールは、gitで追加するか、ダウンロードして、plugins/skelに配置してください。
git submodule add -f https://github.com/nojimage/CakePHP-skel plugins/skel
skelプラグインは、プラグインとして配布していますが単純にbake用のスケルトンです。
bake時に、-skelオプションで、利用するスケルトンのパスを指定します。
cake/console/cake bake project <appname> -app . -skel plugins/skel/basic
appディレクトリをターゲットとしてbakeする場合は、appディレクトリを一旦削除してからbakeしてください。
rm -r ./app
cake/console/cake bake project app -app . -skel plugins/skel/basic
skel/basicのポイント
app_controller.php
https://github.com/nojimage/CakePHP-skel/blob/master/basic/app_controller.php
- 基本的なコンポーネント、ヘルパーを登録しています。
- Themeビューを使用します。
app_model.php
https://github.com/nojimage/CakePHP-skel/blob/master/basic/app_model.php
- トランザクション用メソッドを明示的に定義しています。
config/core.php
https://github.com/nojimage/CakePHP-skel/blob/master/basic/config/core.php
- 余分なコメントを削除して見通しを良くしています。
- debugフラグを0としています。(bootstrap.phpで環境により変更する
config/bootstrap.php
https://github.com/nojimage/CakePHP-skel/blob/master/basic/config/bootstrap.php
- 環境により設定を変更する機構をいれています。
config/env/ 配下にdevelopment, staging, productionのいずれかのファイルがある場合、それに対応したconfig/{env_name}/bootstrap.phpを読み込むようになります。
また、Configureのenvパラメータとして、環境名を設定します。詳しくは、libs/load_env_bootstrap.phpを見てください。
config/database.php
https://github.com/nojimage/CakePHP-skel/blob/master/basic/config/database.php
- bootstrap同様に、環境により設定を変更する機構を入れています。
config/routes.php
https://github.com/nojimage/CakePHP-skel/blob/master/basic/config/routes.php
- Router::parseExtensions()メソッドを呼び出し、リクエストの拡張子判別を行うようにしています。
libs/helpers-code-completion.php
https://github.com/nojimage/CakePHP-skel/blob/master/basic/libs/helpers-code-completion.php
- Eclipce/NetBeansなどのIDEで、ViewのHelper補完を行うためのファイルを追加しています。
See. CakePHP 1.3のビューでヘルパーのコードを補完する for Eclipce PDT
views/layouts
https://github.com/nojimage/CakePHP-skel/tree/master/basic/views/layouts
- cakeコアライブラリに含まれるレイアウトファイルを配置しています。
他にも、ちょこちょことしたtipsを入れています。
これをベースに自分なりのスケルトンを作っていくことで、プロジェクトのスタートアップが早くなると思います。
それではよきCakePHPライフを!
あ、gitレポジトリのfork&pull request 絶賛お待ちしております。 🙂