E_STRICTを一時的に無効にする
PHP4,5両対応のライブラリを書こうと思った時にどうしても気になるのがE_STRICTの設定。
PHP4でも動くようにプログラムを書くと、PHP5でE_STRICTを有効にした場合に警告の嵐が orz。
プログラムを分ける
そもそもプログラムを分ければ問題なさそう。
ってこれは面倒くさいすぎるので却下。
一時的にE_STRICTを無効にする
一時的にE_STRICTを無効にすればいいんじゃないだろうか。
プログラムの最初でE_STRICTをoff。
// disable E_STRICT temporary
if (defined('E_STRICT')) {
$_original_e_strict = ini_get('error_reporting') & E_STRICT;
ini_set('error_reporting', ini_get('error_reporting') & ~E_STRICT);
}
プログラムの最後で元の設定に戻す。
// get E_STRICT setting back
if (defined('E_STRICT')) {
ini_set('error_reporting', ini_get('error_reporting') | $_original_e_strict);
}
途中で他のファイルをincludeしなければこれでいけそう。