はじめに

どのように FuelPHP をアップグレードするかは、あなたのプロジェクトがどのように FuelPHP を利用しているかによって異なります。

すべての場合で、あなたが core ファイル群には修正を加えておらず、 core の機能を拡張した場合は app/classes にクラスを作成し、 またデフォルトの設定を変更したい場合は app/config に設定ファイルをコピーした上で修正していると仮定しています。

単に zip ファイルをダウンロードしてインストールした場合

この方法でインストールしていた場合は、単にもう一度同じ事をすれば良いです。 新バージョンの zip ファイルをダウンロードし、 fuel/core とインストールされている全ての fuel/packages を入れ替えます。 それが終わったらチェンジログ (Changelog) を見て、それぞれの項目があなたのアプリケーションに与える影響をチェックします。

プロジェクトがフレームワークも含んだ独自のリポジトリを持っている場合

作業的には同じです。zip ファイルをダウンロードして置き換えて下さい。 リポジトリを持つことは、その中で作業をすることで diff を見ることができ、 必要な場合にチェンジログを用いて修正を行う作業を楽にしてくれることでしょう。

Note もしまだ Subversion を使っている倍は、 .svn 隠しディレクトリに注意して下さい。ファイルを入れ替える時に .svn ディレクトリを削除してはいけません。

プロジェクトが独自のリポジトリを持っていて、FuelPHP のリポジトリのサブモジュールを使っている場合

もしあなたがサブモジュールを手動で作っている場合は、それがどのように動作し、どうすればアップデートできるのかすでに知っているでしょう。 fuel/fuel リポジトリから clone を行うことで開始していた場合は、上流リポジトリとして追加して、新バージョンの master ブランチを pull して下さい。 マージに関する問題に対処したら、 'git submodule update' コマンドを実行してサブモジュールをリリースバージョンに更新します。

プロジェクトが独自のリポジトリを持っているが、FuelPHP コンポーネントには別のリポジトリを持っている場合

それらのリポジトリがすべてあなたの作ったものであれば、 FuelPHP のリポジトリを上流のリモートリポジトリとして追加し、そこからリリースブランチを pull してファイルを更新します。 その後あなたのリポジトリに対して push を行いアップデートを完了します。 もし FuelPHP のリポジトリを直接使っているなら、単にブランチを切り替えるだけで住みます。 FuelPHP のファイルがあなたのアプリリポジトリに含まれているのなら、この変更をアプリリポジトリにも push してアップデートは完了です。

おそらくもっとたくさんのシナリオがあり得るでしょう。 ここで言及する価値があると思われるケースを知っていたら、どうぞこのページに対する pull request を送って下さい。

ところでアプリケーションそのものは?

新バージョンがリリースされる時にはほとんどの場合、FuelPHP リポジトリに多くの変更があり、それはあなたのアプリケーション (つまり app フォルダの中のすべてのファイル) にも影響を及ぼします。 アプリケーションを作成する時に app フォルダに大幅に変更を加えたとして、ここで少し注意する必要があります。 それは潜在的に以下の 3 つのことが変更されてるかもしれません:

public ディレクトリの index.php

index.php は FuelPHP フレームワークの不可欠の部分であり、環境を構築しフレームワークそのものを起動する役目を持ちます。 新しい FuelPHP のバージョンにアップデートする場合は、忘れずに index.php を fuel/fuel リポジトリから更新して下さい。 もし index.php に変更を加えていた場合は、更新した新しい index.php にも同様の変更を行うのを忘れずに!

public ディレクトリに含まれる asset ファイル

public/assets に含まれるファイルは FuelPHP にとって最重要ではありませんが、 Oil パッケージによって生成される管理用ページに使用される Twitter Bootstrap のファイルが含まれています。 Twitter Bootstrap の新バージョンが使われた場合は、フレームワークでの使用方法の変更点が紹介されますので、 生成された管理ページのマークアップを確認し、それが新しいバージョンの Bootstrap で動作することをチェックする必要があります。

含まれるその他のファイル

アップデートする必要があるかもしれないその他のファイルとは、 Oil 起動スクリプト、 .htaccess ファイル、そして PHPUnit が必要とするファイルのことです。 それらを変更していなければ、単に新バージョンに置き換えて、 実際に使用した時に問題が起きないことを確認すれば OK です。

上流リポジトリを使う

リポジトリを管理するために git を使っている場合は、fuel/fuel リポジトリをあなたの上流リポジトリとして使うことができます。 そうするとアップデートを簡単になります。 FuelPHP のコアコンポーネント毎に別々のリポジトリを使っている場合でも同様にできます。 この方法は、新バージョンにアップデートする際に多くの時間を節約してくれることでしょう。