composerむっちゃ便利なんですが標準でインストールするvendor/ディレクトリ以下にインストールしてしまうとcomposer対応してないフレームワークのプラグインとかはちゃんと読み込めなくて困ったちゃんになるなーと思っていました。symfony1系のプラグインとかcakephpのプラグインとかwordpressのプラグインとかですかね。
だけども[composer/installers] (http://github.com/composer/installers)を使えば解決される事が解ったので設定方法をまとめておきます。
プラグインの各ソースファイルをgitリポジトリ管理とかにしておいてcomposerでインストール出来るように以下のcomposer.jsonをプラグインのルートディレクトリ直下に置いておけば完了です。
{
"name": "you/ftp",
"type": "cakephp-plugin",
"require": {
"composer/installers": "~1.0"
}
}
composer/installersを標準でrequireするようにしてtypeを各プラグインの設定に変えてやれば良いです。
あとはこのgitリポジトリ管理とかだったりを[packagist] (https://packagist.org)に登録したりしてプロジェクトからcomposerインストールしてくればオッケーですb
2013/9/19 現在の対応されているtype一覧
| Framework | Types |
|---|---|
| AGL | agl-module |
| AnnotateCms |
annotatecms-moduleannotatecms-componentannotatecms-service
|
| CakePHP 2+ | cakephp-plugin |
| CodeIgniter |
codeigniter-librarycodeigniter-third-partycodeigniter-module
|
| Croogo |
croogo-plugincroogo-theme
|
| Drupal |
drupal-moduledrupal-themedrupal-profiledrupal-drush
|
| FuelPHP v1.x |
fuel-modulefuel-package
|
| Joomla |
joomla-componentjoomla-modulejoomla-templatejoomla-pluginjoomla-library
|
| Kohana | kohana-module |
| Laravel | laravel-library |
| Lithium | lithium-librarylithium-source |
| Magento |
magento-librarymagento-skinmagento-theme
|
| Mako | mako-package |
| MediaWiki | mediawiki-extension |
| OXID | oxid-module |
| MODULEWork | modulework-module |
| phpBB |
phpbb-extensionphpbb-stylephpbb-language
|
| PPI | ppi-module |
| SilverStripe |
silverstripe-modulesilverstripe-theme
|
| symfony1 | symfony1-plugin |
| TYPO3 Flow |
typo3-flow-packagetypo3-flow-frameworktypo3-flow-plugintypo3-flow-sitetypo3-flow-boilerplatetypo3-flow-build
|
| TYPO3 CMS | typo3-cms-extension |
| WordPress |
wordpress-pluginwordpress-themewordpress-muplugin
|
| Zend |
zend-libraryzend-extra
|
参考
[symfony1.4 のプラグインを composer で管理] (http://qiita.com/aki77@github/items/85a942bc36d25ab992d4)
[PHPエンジニア養成読本[現場で役立つイマドキ開発ノウハウ満載!]] (http://gihyo.jp/book/2013/978-4-7741-5971-3)