FuelPHP 1.7のComposerによるインストール
達人出版会
発行日: 2013-12-27
対応フォーマット: EPUB, PDF
『FuelPHP Advent Calendar 2013』の11日目に
- FuelPHPをもっとComposerで使う
がありますが、fuel/fuelリポジトリ内の必要なファイルを個別にダウンロードして取得するというのが、どうもスマートでないので、私なりの方法を考えてみました。
(2014-07-14 追記) FuelPHP 1.7.2から正式にComposerによるインストールが可能になりました。詳細は、FuelPHP 1.7.2のComposerによるインストールを参照してください。
オレオレインストール方法
GitHubからfuel/fuelリポジトリの必要なブランチを取ってきます。
$ git clone -b 1.7/master git://github.com/fuel/fuel.git ProjectName
.gitmodules
を削除します。
$ cd ProjectName
$ rm .gitmodules
composer.json
を編集しサブモジュールだったものを追加します。必要なパッケージは、require
に追加してください。以下の例ではoilしか追加していません。
--- a/composer.json
+++ b/composer.json
@@ -18,7 +18,117 @@
"require": {
"php": ">=5.3.3",
"monolog/monolog": "1.5.*",
- "fuelphp/upload": "2.0.1"
+ "fuelphp/upload": "2.0.1",
+ "fuel/core": "1.7",
+ "fuel/oil": "1.7"
+ },
+ "repositories": [
+ {
+ "type": "package",
+ "package": {
+ "name": "fuel/core",
+ "type": "fuel-package",
+ "version": "1.7",
+ "require": {
+ "composer/installers": "*"
+ },
+ "source": {
+ "url": "https://github.com/fuel/core.git",
+ "type": "git",
+ "reference": "1.7/master"
+ }
+ }
+ },
+ {
+ "type": "package",
+ "package": {
+ "name": "fuel/auth",
+ "type": "fuel-package",
+ "version": "1.7",
+ "require": {
+ "composer/installers": "*"
+ },
+ "source": {
+ "url": "https://github.com/fuel/auth.git",
+ "type": "git",
+ "reference": "1.7/master"
+ }
+ }
+ },
+ {
+ "type": "package",
+ "package": {
+ "name": "fuel/email",
+ "type": "fuel-package",
+ "version": "1.7",
+ "require": {
+ "composer/installers": "*"
+ },
+ "source": {
+ "url": "https://github.com/fuel/email.git",
+ "type": "git",
+ "reference": "1.7/master"
+ }
+ }
+ },
+ {
+ "type": "package",
+ "package": {
+ "name": "fuel/oil",
+ "type": "fuel-package",
+ "version": "1.7",
+ "require": {
+ "composer/installers": "*"
+ },
+ "source": {
+ "url": "https://github.com/fuel/oil.git",
+ "type": "git",
+ "reference": "1.7/master"
+ }
+ }
+ },
+ {
+ "type": "package",
+ "package": {
+ "name": "fuel/orm",
+ "type": "fuel-package",
+ "version": "1.7",
+ "require": {
+ "composer/installers": "*"
+ },
+ "source": {
+ "url": "https://github.com/fuel/orm.git",
+ "type": "git",
+ "reference": "1.7/master"
+ }
+ }
+ },
+ {
+ "type": "package",
+ "package": {
+ "name": "fuel/parser",
+ "type": "fuel-package",
+ "version": "1.7",
+ "require": {
+ "composer/installers": "*"
+ },
+ "source": {
+ "url": "https://github.com/fuel/parser.git",
+ "type": "git",
+ "reference": "1.7/master"
+ }
+ }
+ }
+ ],
+ "extra": {
+ "installer-paths": {
+ "fuel/core": ["fuel/core"],
+ "fuel/packages/auth": ["fuel/auth"],
+ "fuel/packages/email": ["fuel/email"],
+ "fuel/packages/oil": ["fuel/oil"],
+ "fuel/packages/orm": ["fuel/orm"],
+ "fuel/packages/parser": ["fuel/parser"]
+ }
},
"suggest": {
"mustache/mustache": "Allow Mustache templating with the Parser package",
Composerで必要なコンポーネントをインストールします。
$ php composer.phar install
これで完了です。
本家のfuel/fuelリポジトリの変更を今後もgitで取得したい場合は、このままこのリポジトリでアプリを開発していきます。
まあ、開発用のブランチくらい切る方がいいでしょうが。
$ git checkout -b develop
でdevelopブランチにcommitしていきます。
fuel/fuelの更新はほとんどないので手動でもいいという場合は、.git
フォルダを削除して、Gitリポジトリを初期化します。これなら、アプリに必要ないfuel/fuelの履歴は残らず、アプリの履歴のみがリポジトリに保存できます。
で、この状態のリポジトリを、プロジェクト最初の雛形としておけばいいのではないかと思いました。
(2014-05-28 追記) 解説した手順のGitリポジトリをGitHubで公開しています。
参考
Date: 2014/01/29