composerを利用した fuelphpのパッケージ管理方法
TRANSCRIPT
Composerを利用したFuelPHPのパッケージ管理方法
@nasneg
13年3月23日土曜日
パッケージとは• コードを整理する優れた方法
• サードパーティライブラリを維持する場所を提供
• 誰かのコードを変更する事なく拡張する事ができる
• coreファイルを変更する事なく拡張する事ができる
FuelPHP用のライブラリ
13年3月23日土曜日
提供されているパッケージ
• oil
• auth
• log
• orm
• parser
13年3月23日土曜日
パッケージの配置場所.!"" fuel# !"" LICENSE# !"" app# !"" core# $"" packages!"" oil$"" public !"" assets $"" index.php
fuel/packages
267 'package_paths' => array(268 //PKGPATH269 ),
fuel/app/config/config.php
ここにパスを追加
13年3月23日土曜日
パッケージのインストール方法
1. package_pathsで設定されているディレクトリに手動で配置する
2. oilコマンドでインストールする
3. composer/installersでインストールする
13年3月23日土曜日
oilコマンドを利用したパッケージ管理
php oil package install fuel-oauth
30 'sources' => array(31 'github.com/fuel-packages',32 ),
fuel/core/config/package.php
13年3月23日土曜日
oilでの管理パッケージの追加
php oil package install fuel-dsauth
coreのconfigをapp用にコピーcp fuel/core/config/package.php fuel/app/config/
30 'sources' => array(31 'github.com/fuel-packages',32 'github.com/egmc',33 ),
fuel/app/config/package.php.!"" fuel# !"" app# !"" core# $"" packages# !"" auth# !"" email# !"" fuel-dsauth# !"" log# !"" oil# !"" orm# $"" parser
パッケージディレクトリ
13年3月23日土曜日
composer/installersを利用したパッケージ管理
ComposerとはRubyのbundler、Nodeのnpmに強く影響を受けたPHP用の依存管理ツール
URL : http://getcomposer.org/
日本語訳 : https://github.com/kawahara/composer/tree/japanese-doc-progress/jpdoc
13年3月23日土曜日
composer/installersを利用したパッケージ管理
{ "require": { "monolog/monolog": "1.2.*" }}
1.composer.jsonを作成する
2.composerのインストールを実行するcomposer.phar install
3.composer.jsonの設定に従った依存関係がインストールされる.!"" composer.json!"" composer.lock!"" composer.phar$"" vendor !"" autoload.php !"" composer $"" monolog
Composerの使用方法
13年3月23日土曜日
composer/installersを利用したパッケージ管理
composer/installersは、Composerの中の「composer-installer」の機能を利用して様々なPHPフレームワーク、CMSのライブラリを管理することができるツールです。
composer/installersのURL:https://github.com/composer/installers
composer-installerのURL:http://getcomposer.org/doc/articles/custom-installers.md
対応フレームワーク• AGL• CakePHP2• CodeIgniter• Drupal• FuelPHP• Joomla• Kohana• Laravel• Lithium• Magento• Mako
• MediaWiki• phpBB• PPI• SilverStripe• Symfony1• TYPO3 Flow• WordPress• Yii• Zend• Aura• Symfony2
13年3月23日土曜日
composer/installersを利用したパッケージ管理
{ "name": "nasneg/fuel-samplepackage", "type": "fuel-package", "require": { "composer/installers": "*" }}
FulePHPのパッケージ : composer.json
“fuel-package” or “fuel-module”
1.FuelPHPのパッケージにcomposer.jsonを記述する
2.githubなどのVCSに登録する
3.Packagistに登録する(任意)
13年3月23日土曜日
composer/installersを利用したパッケージ管理
1.FuelPHPのプロジェクトルートにcomposer.jsonを記述{ "require": { "nasneg/fuel-samplepackage": "dev-master" }}
2.composerのインストールを実行するcomposer.phar install
.!"" composer.json!"" composer.lock!"" composer.phar!"" fuel# !"" app# !"" core# $"" packages# !"" auth# !"" email# !"" fuel-samplepackage
3.fuel-samplepackageが「fuel/packages」ディレクトリにインストールされる
(Packagistに登録済みの場合)
13年3月23日土曜日
composer/installersを利用したパッケージ管理
(composer.jsonが記述されていない場合)
1.VCSを利用したcomposer.jsonの記述方法{ "repositories": [ { "type": "package", "package": { "name": "egmc/fuel-dsauth", "type": "fuel-package", "version": "dev-master", "source": { "url": "https://github.com/egmc/fuel-dsauth/", "type": "git", "reference": "origin/master" }, "require": { "composer/installers": "*" } } } ], "require": { "egmc/fuel-dsauth": "dev-master" }}
13年3月23日土曜日
composer/installersを利用したパッケージ管理
(composer.jsonが記述されていない場合)
1.パッケージ化されたデータを利用したcomposer.jsonの記述方法{ "repositories": [ { "type": "package", "package": { "name": "egmc/fuel-dsauth", "type": "fuel-package", "version": "dev-master", "dist": { "url": "https://github.com/egmc/fuel-dsauth/archive/master.zip", "type": "zip" }, "require": { "composer/installers": "*" } } } ], "require": { "egmc/fuel-dsauth": "dev-master" }}
13年3月23日土曜日
まとめ
• composer/installersを利用する事で、パッケージを一括で管理できる
• 依存管理ツールで管理する事で、環境の複製が容易に作成できる
13年3月23日土曜日