Composerを利用したCakePHP2.4.xの導入手順
※当サイトにはプロモーションが含まれています。
公開日:
更新日:
CakePHP2.4.xの導入手順についてのメモです。
したいこと
- CakePHPやプラグインはComposerで管理する。
- 全てを1つのディレクトリに納める。
- アプリケーションのファイルはGitで管理する。
Webアプリケーションの最終的なディレクトリ構成は以下となります。
my-app/
.git/
.gitignore
App/
Plugin/
Vendor/
composer.json
composer.lock
composer.phar
1.準備
1. プロジェクト用ディレクトリを作成します
$ mkdir my-app
$ cd my-app
2. composer.phar を用意します
$ curl -sS https://getcomposer.org/installer | php
3. composer.json を作成します
$ vi composer.json
以下を記述します。
2.パッケージのインストール
設定したパッケージをインストールします。
$ php composer.phar install
この時点のカレントディレクトリ内は以下の状態になります。
$ ls -1
Plugin/
Vendor/
composer.json
composer.lock
composer.phar
3.プロジェクトの生成
1. php.ini 内の timezone を設定します(オプション)
この次のcakeコマンド実行時に警告メッセージが表示されるのを避けるために、php.iniファイル内でtimezoneを設定します。
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"
php.iniファイルの位置は以下のコマンドで分かります。
$ php -i | grep php.ini
2. CakePHPプロジェクトを生成します
Appディレクトリにプロジェクトを作成します。
$ ./Vendor/bin/cake bake project App
3. Gitでバージョン管理を開始します
.gitignoreを作成します。
$ vi .gitignore
以下を記述します。
Gitでの管理を開始します。
$ git init
$ git add .
$ git commit -m 'Initial commit'
4. 各種パスを修正します
webroot/index.php と webroot/test.php 内の定数CAKE_CORE_INCLUDE_PATHの定義を修正します。
$ vi webroot/index.php
$ vi webroot/test.php
CAKE_CORE_INCLUDE_PATH を以下のパスに修正します。 どちらのファイルも修正内容は同じです。
define('CAKE_CORE_INCLUDE_PATH', ROOT . '/Vendor/pear-pear.cakephp.org/CakePHP');
PluginとVendorのパスを追加します。 App/Config/bootstrap.php に以下を追記します。末尾のスラッシュは必須です。
App::build(array(
'Vendor' => array(ROOT . '/Vendor/'),
'Plugin' => array(ROOT . '/Plugin/')
));
5. オートローダーの設定を行います
Config/bootstrap.php の一番上に以下を記述します。
// composerのautoloadを読み込み
require APP . '../Vendor/autoload.php';
// CakePHPのオートローダーをいったん削除し、composerより先に評価されるように先頭に追加する
// https://github.com/composer/composer/commit/c80cb76b9b5082ecc3e5b53b1050f76bb27b127b を参照
spl_autoload_unregister(array('App', 'load'));
spl_autoload_register(array('App', 'load'), true, true);
6. DebugKitプラグインの読み込み設定を行います
Config/bootstrap.php に以下を記述します。
CakePlugin::load('DebugKit');
残りのセットアップ作業
あとは DBの作成、Config/database.php の編集、Webサーバの設定を行いブラウザでアクセスします。
参考
[最終更新日: 2014年4月2日]
