Composerを利用したCakePHP2.4.xの導入手順

CakePHP2.4.xの導入手順についてのメモです。

したいこと

CakePHP

  • 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日]

Pocket

One thought on “Composerを利用したCakePHP2.4.xの導入手順

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*