CakePHP Composerを使ってプラグインをインストールする

概要

Composerを使ってCakePHPのプラグインをインストールするまでの過程を紹介します。composer/installersという各フレームワーク対応のライブラリが作られているので、それを利用します。FuelPHPやWordPress、Zendなどに対応しているので、詳しくはcomposer/installersのREADMEを見てください。

  • Composerのインストール
  • composer.jsonの作成(Plugin側)
  • Packagistへの登録
  • composer.jsonの作成(利用側)
  • 登録されたプラグインのインストール

環境

  • CakePHP 2.2 (CakePHP 2.x以降)
  • Githubでコードの管理
  • git コマンドが利用可能

Step 1: Composerのインストール

下記を参考

Step 2 : composer.jsonの作成(Plugin側)

プラグインのルートディレクトリにcomposer.jsonファイルを作成します。ここではMogeプラグインを作ったと仮定しておきます。i.e. Moge/composer.jsonを作成。composer/installersを使うので下記も参考。

参考:composer/installers

中身は下記を参照

次のものは必要です!

  • name : vendor_name/package_name (e.g. junichi11/moge)
  • type: cakephp-plugin
  • require : composer/installers

パッケージ名はプラグインのフォルダ名となるので、それに合わせて名前をつけて下さい。パッケージ名は小文字を使いましょう。あとでもしPackagistへ登録する場合、チェックで怒られます。Githubとかを使っていて、リポジトリ名とパッケージ名が異なっていても問題ありません。 typeにはcakephp-pluginを使います。これを指定しておくことによって、app/Plugin/Mogeのようにプラグインをインストールしてくれます。nameで小文字で書いておいても先頭は大文字にしてくれます。 インストールにcomposer/installersを利用するので必ずrequireに含めておいてください。 このファイルを作成したらGithubのリポジトリにpushしておきます。

Step 3 : Packagistへの登録

  • アカウントの作成
  • GithubのプラグインのUrlをコピーしてきて登録

参考

登録時にチェックがあるみたいで、package名が大文字で始まっていると、小文字にしとけといわれるので、小文字にしておいたほうがいいかと思います。

cakephp_composer_packagist

登録しただけだとNot auto-updatedなのでGithubのService HookにAPIトークンを登録します。

cakephp_composer_servicehook

ユーザ名はPackagistとGithubのアカウント名が異なる場合だけでいいみたいです。 TestHookをクリックして、先ほどのPackagistの画面を確認するとNo auto-updatedの文字が消えます。

cakephp-composer_packagist_2

これで登録完了。

Step 4 : composer.jsonの作成(利用側 : CakePHPのディレクトリ内)

下記のようなcakephp/app/composer.jsonを作成します。

Step 5 : 登録されたプラグインのインストール

このStep 4のディレクトリで、composer installを実行すれば、プラグインをインストールすることができます。この場合はgit cloneが実行されるので、gitコマンドが使えるところから実行してください。

よく使うプラグインをまとめたcomposer.jsonを作っておくと便利そうですね。

すでに登録済みのプラグインもPackagistで検索して追加することができます。

Packagistに登録さていないプラグインも”repositories”の記述を追加すればインストールすることができます。
追記:サンプル作りました。

Zip
git

補足

バージョンはブランチやタグできまるので、タグの名前の付け方はPackagistを参照してください。

composer.jsonでの設定はドキュメントを参照してください。

参考

CakePHP Composerを使ってプラグインをインストールする” に1件のフィードバックがあります

  1. ピンバック: CakePHP Advent Calendar 2012 #8 : NetBeans plugin の改善点 | junichi11の日記~つらつらなるままに~

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください