『Webサイト制作者のためのPHP入門講座』の CodeIgniter アプリを CodeIgniter 2.0.0 に移行する
Webサイト制作者のためのPHP入門講座 には、CodeIgniter で作成したアプリケーションである「グルメMAP」が含まれています。これは、CodeIgniter 1.7.2 を利用して作成されています。
今回は、この「グルメMAP」を CodeIgniter 2.0.0 に移行してみます。
CodeIgniter 1.7.2 から 2.0.0 への移行の方法は、基本的には
に記述されています。
CodeIgniter 2.0.0 は、日本 CodeIgniter ユーザ会の ci-ja-all-in-one-2.0.0-1.zip を使用します。
まず、ユーザガイドに従って、このアプリに関係する以下を実施します。
ステップ 1: CodeIgniter ファイルの更新
system フォルダ内の application フォルダを除く全てのファイルとディレクトリを置き換えます。
CodeIgniter 2.0.0 からは、図のようにフォルダ構成が変わっています。application フォルダは system フォルダの外に配置されるように変更されました。
application フォルダを残し、他のフォルダは削除し、2.0.0 のフォルダをコピーします。
続いて、system フォルダ、application フォルダをブラウザから直接アクセスできない位置に設置しているためのパスの修正をします。
ブラウザからアクセスしてテスト
これでブラウザからアプリにアクセスしてみます。
設定ファイルの暗号化キーが設定されていないと 2.0.0 からはエラーになります。
本の P.318 の指示どおりに暗号化キーを設定済みなら、このエラーは出ません。
暗号化キーを config.php で設定し、再度、ブラウザからアクセスします。
ページが正しく表示されました。
ところが、検索してみると、
上記の Fatal error が出てしまいました。
これは、Input クラスにあった xss_clean() メソッドが 2.0.0 からは Security クラスへ移動したことが原因のエラーです。
Security クラスはコアクラスではないので自動的にはロードされません。コントローラのコンストラクタでロードするように指定し、$this->input->xss_clean() となっているところを $this->security->xss_clean() に変更します。
以上で、2.0.0 への移行は完了しました。意外に簡単だったのではないでしょうか?
- 作者: 鈴木憲治,安藤建一,小出範明
- 出版社/メーカー: 技術評論社
- 発売日: 2011/01/07
- メディア: 大型本
- 購入: 9人 クリック: 732回
- この商品を含むブログ (10件) を見る