CakePHP 2.xをComposerでインストールする

標準

logo-composer-transparent

CakePHP 3.xではComposerが正式にサポートされますが、2.xでもComposerを使ってCaekPHPのコアを管理することができます。

これまでCakePHP 2.xをComposerでインストールする場合、pearレポジトリの定義が必要でしたが、CakePHP 2.4.5 から composer.json が含まれるようになり、また、Packagistに登録されたため、ComposerによるCakePHPのインストールが比較的楽にできるようになりました。

最小セットアップ

とりあえず、以下の手順でインストール可能です。

これで、vendor/cakephp/cakephp 配下にCakePHPの一式がインストールされます。

次にプロジェクト作成します。cakeコマンドは、vendor/bin/cakeとしてインストールされていますので、これをつかってbake projectを行います。

例によって、appという名前のプロジェクトを作ります。

これで、 app ディレクトリに、プロジェクトのひな形が作成されます。

そして、app/webrootをドキュメントルートに指定して、ブラウザから参照すればいつもの画面が表示されているはずです。

ただし。。。

CAKE_CORE_INCLUDE_PATHの指定が絶対パスとなっているため、ローカル環境で開発したものをサーバーに持っていくと動かないといったことになります。これを回避するには、app/webroot/index.php, app/webroot/test.php, app/Console/cake.php計3ファイルのパスを書き換えて相対指定とする必要があります。

また、このままではComposerのautoloaderを読み込んでいないため、autoloaderの恩恵を受けることができません。そこでapp/Config/bootstrap.phpの最後に以下を追記してautoloaderを読み込みます。

Composerでインストールする場合、以上のような調整が必要です。

面倒くさいあなたへ

ひな形となるcomposer.jsonと、bake用スクリプトを用意しました。

https://gist.github.com/nojimage/7022740

上記のcomposer.jsonbake-composer.sh をダウンロードして、プロジェクトディレクトリに配置し、

で、bake projectCAKE_CORE_INCLUDE_PATHの書き換え、bootstrap.phpへの追記、app/tmpの書き込み権限付与が完了します。

また、composer.jsonには、よく使いそうなプラグインなどの指定をしていますので、適宜変更してください。

Leave a Reply

 

Page optimized by WP Minify WordPress Plugin