CakePHP Skel Plugin – CakePHPプロジェクトのひな形

標準

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

views/layouts
https://github.com/nojimage/CakePHP-skel/tree/master/basic/views/layouts

  • cakeコアライブラリに含まれるレイアウトファイルを配置しています。

他にも、ちょこちょことしたtipsを入れています。
これをベースに自分なりのスケルトンを作っていくことで、プロジェクトのスタートアップが早くなると思います。

それではよきCakePHPライフを!

あ、gitレポジトリのfork&pull request 絶賛お待ちしております。 🙂

コメントを残す

Page optimized by WP Minify WordPress Plugin