質問: ### コアコードの修正の仕方を知りたい アップデートを想定しコアコードに触れず、コアコードの事実上の修正の仕方が知りたい ### 発生しているエラーメッセージ ``` Disallowed Key Characters ``` ### 該当のソースコード system/codeigniter/system/core/Input.php ``` if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str)) { exit('Disallowed Key Characters.'); } ``` を ``` if ( ! preg_match("/^[a-z0-9:_\/-~|]+$/i", $str)) { exit('Disallowed Key Characters.'.$str); } ``` に修正したいと考えてます ### 発生する問題 フレームワークのアップデートでコアコードが上書きされるたびに書き換える必要性があります。 これをaplication配下を利用して恒久的に利用できる手法をご存知の方いらっしゃるでしょうか? 当方、Library(オブジェクト)の利用に対しまだ理解が浅いところがありますが、お手柔らかにお願いします。 **補足情報(Codeigniter2系)**
回答: `application/core/MY_Input.php`というファイルを作成して、`class MY_Input extends CI_Input`とした上で、必要な処理を上書きすることができます(メソッド単位でコピーは必要ですが)。 コントローラークラスの拡張の例