HOME>情報備忘録>[CakePHP2.3.x]Composer導入メモ

[CakePHP2.3.x]Composer導入メモ

CakePHP2.3.xでComposer利用メモ。OSはUbuntu 12.04。

PHP版のパッケージ管理ツール。公式サイトの説明によるとnode.js のnpmやrubyのbundlerみたいなものらしい。

Composer インストール

CakePHP自体をComposerでインストールもできるようですが、 自分の場合、下記のようにCakePHPはプロジェクトの外にあるので Vendor/ 管理用にインストールします。

ディレクトリ構造

  1. cakephp/
  2.     2.1.x/
  3.     2.2.x/
  4.     2.3.x/
  5.  
  6. sites/
  7.     www.example.com/
  8.         Controller/
  9.         Model/
  10.         View/
  11.         Vendor/
  12.         webroot/
  13.         ・
  14.         ・
  15.         ・
  16.  

アプリケーションのルートディレクトリ(www.example.com/)に移動します。

SH

  1. cd /sites/www.example.com
  2.  

Composerのインストール。

SH

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

上記を実行すると APP/composer.phar が作成されます。 パッケージをインストールするためには composer.json が必要となります。
Packagistでパッケージを探して require 部分をコピペします。

composer.json

  1. {
  2.     "require": {
  3.         "michelf/php-markdown": "1.3"
  4.     }
  5. }
  6.  

Composerで普通にインストールすると ./vendor/ にパッケージがインストールされます。 CakePHPでは外部ライブラリは APP/Vendor/に設置するというルールがあるので config でディレクトリを変更します。

composer.json

  1. {
  2.     "require": {
  3.         "michelf/php-markdown": "1.3"
  4.     },
  5.  
  6.     "config": {
  7.         "vendor-dir": "Vendor"
  8.     }
  9. }
  10.  

パッケージのインストールの実行。

SH

  1. php composer.phar install
  2.  

CakePHPの設定

通常、Vendor/autoload.php を requireすればOKですが、CakePHPの作法だと

Config/bootstrap.php

  1. <?php
  2. App::import('Vendor', 'autoload');
  3. ?>

のように記述するのがよいでしょう。 関係無いですが 引数の順番が App::uses() と微妙に違うのなんでなんでしょうね。

上記を設定しておけばヘルパーなどで

PHP

  1. <?php
  2. public function markdown($text)
  3. {
  4.     return \Michelf\Markdown::defaultTransform($text);
  5. }
  6. ?>

のように利用することができます。

投稿日 2013年8月20日 03:35
カテゴリ Ubuntu | 設定 | 開発環境
タグ CakePHP | PHP | ライブラリ
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1327

コメント

コメントする
Name
Email Address
URL