概要
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名が大文字で始まっていると、小文字にしとけといわれるので、小文字にしておいたほうがいいかと思います。
登録しただけだとNot auto-updatedなのでGithubのService HookにAPIトークンを登録します。
ユーザ名はPackagistとGithubのアカウント名が異なる場合だけでいいみたいです。 TestHookをクリックして、先ほどのPackagistの画面を確認するとNo auto-updatedの文字が消えます。
これで登録完了。
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 Advent Calendar 2012 #8 : NetBeans plugin の改善点 | junichi11の日記~つらつらなるままに~