1.7.2 から 2.0.0 へのアップグレード
アップグレードの前には index.php を静的ページと置き換えてサイトを停止してください。
ステップ 1: CodeIgniter ファイルの更新
"system" フォルダ内の application フォルダを除くすべてのファイルとディレクトリを置き換えます。
Note: これらのディレクトリの中のファイルを更新している場合は、必ず最初にコピーを残しておいてください。
ステップ 2: 必要に応じて get_dir_file_info() の調整
バージョン2.0.0では、ファイルヘルパーの get_dir_file_info() に後方非互換の変更があります。CodeIgniter では後方互換性の無い変更は非常にまれですが、 これは簡単に深刻なサーバのパフォーマンスの問題を生じさせることから、この変更は正当化できる気がします。もし、このヘルパー関数で再帰的な処理 必要なら、 第2引数 $top_level_only を FALSE に設定してください。
get_dir_file_info('/path/to/directory', FALSE);
ステップ 3: プラグインをヘルパーに変換
2.0.0 では、機能的にはヘルパーと同じでありながら拡張性の無い"プラグイン"は排除されます。プラグインファイルを filename_pi.php から filename_helper.php にリネームし、それらを helpers フォルダに移動して、以下のような場合を:
$this->load->plugin('foo');
から下記に変更します。
$this->load->helper('foo');
Step 4: 暗号化保存されているデータの更新
Note: もし、アプリケーションが暗号化ライブラリを使用していなかったり、暗号化されたデータを永続的に保存していなかったり、または、Mcrypt をサポートしていない環境の場合は、このステップをスキップしてください。
暗号化ライブラリは、暗号化強度やパフォーマンスなど多くの点で改良されました。 その結果、以前の暗号化ライブラリで暗号化されたデータを復号化することが不可能になっています。 一連の処理を助けるために、以前のアルゴリズムで復号化し新たに改良されたメソッドで暗号化しなおす新しいメソッド encode_from_legacy() が追加されています。 このメソッドは、その場であるいはまとめて、以前の暗号化データを新しい暗号化データに簡単に置き換えることができます。
暗号化ライブラリのドキュメントの このメソッドの使い方 を読んでください。
Step 5: 互換性ヘルパーの読み込みの削除
互換性ヘルパーは CodeIgniter のコアから削除されました。すべてのメソッドは動作環境の PHP バージョンではネイティブに含まれています。
Step 6: クラスの継承の更新
すべてのコアクラスは現在 CI_ という接頭辞を付けられています。モデルとコントローラは、おのおの CI_Model と CI_Controller を継承するよう更新してください。
Step 7: 親クラスのコンストラクタの呼び出しの更新
すべてのネイティブの CodeIgniter のクラスは PHP 5 の規約 __construct() を使用します。継承されたライブラリは parent::__construct() を呼び出すように更新してください。
ステップ 8: ユーザガイドの更新
ローカルにあるユーザガイドも、画像ファイルを含めて新しいバージョンのもので置き換えてください。
[ 訳注: ドキュメントされていませんが、入力クラスの xss_clean() メソッドはセキュリティクラスに移動されましたので変更が必要です ]