composerを利用した fuelphpのパッケージ管理方法

15
Composerを利用した FuelPHPのパッケージ管理方法 @nasneg 13323日土曜日

Upload: nasneg

Post on 03-Jul-2015

5.230 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Composerを利用した FuelPHPのパッケージ管理方法

Composerを利用したFuelPHPのパッケージ管理方法

@nasneg

13年3月23日土曜日

Page 2: Composerを利用した FuelPHPのパッケージ管理方法

パッケージとは• コードを整理する優れた方法

• サードパーティライブラリを維持する場所を提供

• 誰かのコードを変更する事なく拡張する事ができる

• coreファイルを変更する事なく拡張する事ができる

FuelPHP用のライブラリ

13年3月23日土曜日

Page 3: Composerを利用した FuelPHPのパッケージ管理方法

提供されているパッケージ

• oil

• auth

• email

• log

• orm

• parser

13年3月23日土曜日

Page 4: Composerを利用した FuelPHPのパッケージ管理方法

パッケージの配置場所.!"" 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日土曜日

Page 5: Composerを利用した FuelPHPのパッケージ管理方法

パッケージのインストール方法

1. package_pathsで設定されているディレクトリに手動で配置する

2. oilコマンドでインストールする

3. composer/installersでインストールする

13年3月23日土曜日

Page 6: Composerを利用した FuelPHPのパッケージ管理方法

oilコマンドを利用したパッケージ管理

php oil package install fuel-oauth

30 'sources' => array(31 'github.com/fuel-packages',32 ),

fuel/core/config/package.php

13年3月23日土曜日

Page 7: Composerを利用した FuelPHPのパッケージ管理方法

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日土曜日

Page 8: Composerを利用した FuelPHPのパッケージ管理方法

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日土曜日

Page 9: Composerを利用した FuelPHPのパッケージ管理方法

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日土曜日

Page 10: Composerを利用した FuelPHPのパッケージ管理方法

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日土曜日

Page 11: Composerを利用した FuelPHPのパッケージ管理方法

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日土曜日

Page 12: Composerを利用した FuelPHPのパッケージ管理方法

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日土曜日

Page 13: Composerを利用した FuelPHPのパッケージ管理方法

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日土曜日

Page 14: Composerを利用した FuelPHPのパッケージ管理方法

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日土曜日

Page 15: Composerを利用した FuelPHPのパッケージ管理方法

まとめ

• composer/installersを利用する事で、パッケージを一括で管理できる

• 依存管理ツールで管理する事で、環境の複製が容易に作成できる

13年3月23日土曜日