CakePHPをComposerで導入する手順

こんにちは。 最近はSlimとかただのPHPを弄ってたので、久しぶりにCakePHPでもさわろうかなと思っています。 ということで、とりあえず、CakePHPを導入手順したので、その手順をメモします。

私の環境はCentOS6.4、PHP5.5.6で行っています。

今回の方針としてはComposerを使ってプラグインとコアファイルを管理します。

とりあえず、プロジェクトのディレクトリをつくって、composerを導入します。

$ curl -sS https://getcomposer.org/installer | php

composer.jsonの記述です。 Composerの記述方法は個々に書いてあります。公式ドキュメントが探しづらくて、たどり着くのに苦労しました。 http://getcomposer.org/doc/04-schema.md

{
    "name": "api",
    "repositories": [
    {   
        "type": "pear",
        "url": "http://pear.cakephp.org"
    }   
    ],  

        "config": {
            "vendor-dir": "Vendor/"
        },  

        "extra": {
            "installer-paths": {
                "app/Plugin/DebugKit": ["cakephp/debug_kit"],
                "app/Plugin/BoostCake": ["slywalker/boost_cake"]
            }   
        },  

        "require" :
        {   
            "php": ">=5.4",
            "pear-pear.cakephp.org/CakePHP": ">=2.4.0",
            "cakephp/debug_kit": "2.2.*",
            "slywalker/boost_cake": "*" 
        },  
        "require-dev" :
        {   
            "phpunit/phpunit": "3.7.*"
        }   

}

開発用にPHPunitも入れました。なので、インストールの際に 「--dev」をオプションで追加します。

それから、インストール

$ php composer.phar install --dev

bakeでプロジェクトを生成します。

$ ./Vendor/pear-pear.cakephp.org/CakePHP/bin/cake bake プロジェクト名

普通に従って設定するといいです。

プロジェクトディレクトリ下の.htaccessを作成

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    プロジェクト名/webroot/    [L]
    RewriteRule    (.*) プロジェクト名/webroot/$1    [L]
</IfModule>

また、app/webroot/index.phpとapp/webroot/test.phpがハードコーディングされているので、それも変更したほうがいいですね。ちなみに、私の環境だとこんな感じです。

define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'Vendor' . DS . 'pear-pear.cakephp.org'. DS . 'CakePHP');

とまあ、こんなかんじですかね

参考にした記事です。ありがとうございました!

Getting Started with Composer and CakePHP