More Related Content
Similar to Composerを利用した FuelPHPのパッケージ管理方法
Similar to Composerを利用した FuelPHPのパッケージ管理方法 (20)
Composerを利用した FuelPHPのパッケージ管理方法
- 2. パッケージとは
• コードを整理する優れた方法
• サードパーティライブラリを維持する場所を提供
• 誰かのコードを変更する事なく拡張する事ができる
• coreファイルを変更する事なく拡張する事ができる
FuelPHP用のライブラリ
13年3月23日土曜日
- 3. 提供されているパッケージ
• oil
• auth
• email
• log
• orm
• parser
13年3月23日土曜日
- 4. パッケージの配置場所
.
!"" fuel
# !"" LICENSE fuel/packages
# !"" app
# !"" core
# $"" packages
!"" oil
$"" public
!"" assets
$"" index.php
fuel/app/config/config.php
267 'package_paths' => array(
268 //PKGPATH ここにパスを追加
269 ),
13年3月23日土曜日
- 5. パッケージのインストール方法
1. package_pathsで設定されているディレクトリに手動で配置する
2. oilコマンドでインストールする
3. composer/installersでインストールする
13年3月23日土曜日
- 6. oilコマンドを利用したパッケージ管理
php oil package install fuel-oauth
fuel/core/config/package.php
30 'sources' => array(
31 'github.com/fuel-packages',
32 ),
13年3月23日土曜日
- 7. oilでの管理パッケージの追加
coreのconfigをapp用にコピー
cp fuel/core/config/package.php fuel/app/config/
fuel/app/config/package.php パッケージディレクトリ
30 'sources' => array( .
31 'github.com/fuel-packages', !"" fuel
32 'github.com/egmc', # !"" app
33 ), # !"" core
# $"" packages
php oil package install fuel-dsauth # !"" auth
# !"" email
# !"" fuel-dsauth
# !"" log
# !"" oil
# !"" orm
# $"" parser
13年3月23日土曜日
- 8. 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日土曜日
- 9. composer/installersを利用した
パッケージ管理
Composerの使用方法
1.composer.jsonを作成する
{
"require": {
"monolog/monolog": "1.2.*"
}
}
2.composerのインストールを実行する
composer.phar install
3.composer.jsonの設定に従った依存関係がインストールされる
.
!"" composer.json
!"" composer.lock
!"" composer.phar
$"" vendor
!"" autoload.php
!"" composer
$"" monolog
13年3月23日土曜日
- 10. 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 • MediaWiki
• CakePHP2 • phpBB
• CodeIgniter • PPI
• Drupal • SilverStripe
• FuelPHP • Symfony1
• Joomla • TYPO3 Flow
• Kohana • WordPress
• Laravel • Yii
• Lithium • Zend
• Magento • Aura
• Mako • Symfony2
13年3月23日土曜日
- 11. composer/installersを利用した
パッケージ管理
1.FuelPHPのパッケージにcomposer.jsonを記述する
FulePHPのパッケージ : composer.json
{
"name": "nasneg/fuel-samplepackage",
"type": "fuel-package", “fuel-package” or “fuel-module”
"require": {
"composer/installers": "*"
}
}
2.githubなどのVCSに登録する
3.Packagistに登録する(任意)
13年3月23日土曜日
- 12. composer/installersを利用した
パッケージ管理
(Packagistに登録済みの場合)
1.FuelPHPのプロジェクトルートにcomposer.jsonを記述
{
"require": {
"nasneg/fuel-samplepackage": "dev-master"
}
}
2.composerのインストールを実行する
composer.phar install
3.fuel-samplepackageが「fuel/packages」ディレクトリにインストールされる
.
!"" composer.json
!"" composer.lock
!"" composer.phar
!"" fuel
# !"" app
# !"" core
# $"" packages
# !"" auth
# !"" email
# !"" fuel-samplepackage
13年3月23日土曜日
- 13. 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日土曜日
- 14. 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日土曜日
- 15. まとめ
• composer/installersを利用する事で、パッケージを一括で管理できる
• 依存管理ツールで管理する事で、環境の複製が容易に作成できる
13年3月23日土曜日