CodeIgniter1.2→CodeIgniter3.1へのバージョンアップ

このバージョンアップは本当にきつかった。
このCodeIngiterのバージョンアップと同時に、

・PHP5.2→PHP7.2にバージョンアップ
・SJIS→UTF8

も同時に行わざるを得なかった。
総ファイル数は200.
これらすべてのファイルに対して変更を行わなければならなかった。
Viewはともかく、ControllersはValidationライブラリがなくなってしまって
膨大な修正が必要になった。

こういうのがフレームワークをあまり使いたくない理由だ。
以前のバージョンをサポートしてくれるならともかく、
完全に消えてしまうとかありえないでしょ。。。。

■controllers

1.ファイル名の先頭を大文字に変える
2.クラス名も同じように先頭を大文字に変える
3.コンストラクタの書き方が変わった

public function __construct()
{
parent::__construct();

4.validationライブラリが無くなって、from_validationライブラリになった。こんな感じに書き換える必要がある

    ■バリデーション設定時
        $this->load->library('form_validation');

        $this->form_validation->set_error_delimiters('<div class="error">','</div>');
        $this->form_validation->set_message('required', TXT_FORM_REQUIRE);

        $this->form_validation->set_rules('mail_address', 'メールアドレス', 'trim|required',array('required' => '%s は必須です。'));
        $this->form_validation->set_rules('password', 'パスワード', 'trim|required',array('required' => '%s は必須です。'));

    ■validation->run()失敗時
        新規作成時と、バリデーション失敗時に、$this->form_validation->なにか
        に値を入れて上げる必要がある。(前はバリデーション失敗後の画面にそのまま引き継がれていたし、新規作成時にデータを入れてなくてもエラーは出なかった)

        $this->form_validation->title      = set_value('title');


5.eregが使えなくなった。
    もう消してしまえ!

■views

1.フォームの上に全体のエラー表示したほうが良い。
  <?=form_error('mail_address')?>

2.validtionライブラリが使えなくなった。こんな感じで書き換える必要がある
    <input type='text' name='mail_address' value='<?=set_value('mail_address')?>' />
    

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です