CodeIgniter 1.7.3 から 2.0.2へ移行してみた


CodeIgniter 1.7.3 から 2.0.2へ移行してみた

1.7.3でとあるサービスを開発していたが、保守終了となるみたいなので、

開発初期段階だしサラッと2.0.2へ移行してみた。

『Webサイト制作者のためのPHP入門講座』の CodeIgniter アプリを CodeIgniter 2.0.0 に移行する

を参考に作業を行う。

ファイルの移動・置換
  1. systemディレクトリ内のapplicationディレクトリをsystemと同じ階層に移動
  2. systemディレクトリ内の残りのファイルとディレクトリを2.0.2のものに置き換える

ドキュメントルート直下にあるindex.phpを編集

ドキュメントルート直下にあるindex.phpには、

system_path(systemディレクトリへのパス)

application_folder(applicationディレクトリへのパス)

が設定されているので変更があれば変更する。

コントローラ、モデルが継承しているクラス名を変更

コントローラは CI_Controller を、モデルは CI_Model を継承するように変更されため

application/controllers

application/models

内のソースで該当の箇所があれば変更する。

class Hogehoge extends Controller
↓変更
class Hogehoge extends CI_Controller
class Hogehoge extends Model
↓変更
class Hogehoge extends CI_Model

親クラスのコンストラクタの呼び出し部分も変更する
parent::Controller();
↓変更
parent::__construct();
parent::Model();
↓変更
parent::__construct();

ページにアクセスして動作確認

私の環境では下記のエラーが出た

An Error Was Encountered
In order to use the Session class you are required to set an encryption key in your config file.

CodeIgniter 2.0からは、設定ファイルの暗号化キーが設定されていないとこのエラーが出るため、

application/config/config.phpに暗号化キーを設定する

$config['sess_encrypt_cookie'] = TRUE;
$config['encryption_key'] = "";//32文字のランダムな文字列を設定してください。

個人的対応

CodeIgniterでindex.phpを消すためのmod_rewrite設定 @さくらのレンタルサーバ その2

の設定をCodeIgniter 2.0.2に対応するため、

system/application/libraries/MY_Config.php

system/application/core/MY_Config.php

へ移動

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。