日記
PHP5への道Edit

PHP5への移行を決意したわけだが、早速気が重くなってきた。

ひとまずローカルWindows環境をPHP5に入れ替えてみたんだけど、パスとかは正しいにもかかわらず、指定したextensionのDLLが見つからないと言われるし、PEARも標準状態で素直にインストールされてくれない。単に動かすだけでも結構トラブルが多そう。こういうトラブルは、多分*nix系では出ないとは思うんだけど、印象が良くないなー。

さらに、手持ちのアプリケーションを動かそうとしたところ、各種エラー(主にE_NOTICEやE_STRICT)が出るのは覚悟していたけれども、そのエラーメッセージが訳分からない。エラーが出ているところとは全然違うファイル+行を差したエラーメッセージ(指定された場所にはそんなエラー発生源はない)が表示されたりする。これはいったい何が原因なんだろうなー。→E_STRICTをトラップしないエラーハンドラーが原因だった。

あと、予想していたよりも、思いのほかいろんなエラーが出てくるなー。クラスのメソッドの中で必要に応じて外部クラスをrequire_onceで読み込んだりすると、nested classとか言われちゃうのか。あとis_aとかもdeprecatedらしいし。どうせ移行するなら、自分のコード部分はE_STRICTレベルまできっちり対応しておきたいけど、この様子だとPHP4との互換性を保ったままPHP5に移行するなんてのは不可能っぽいな。全面的にPHP5に移行するしかなさそげ。

PHP4のコードがだいたいそのまま動くように作られているらしいと聞いて、もうちょっと互換性が高いことを期待していたんだけど、それはあくまでもPHP4のコードをだましだまし動かすこともできるよ、ってレベルだね。PHP5できちんと動くコードを書こうと思ったら、PHP4との互換性はとても保てない(クラスライブラリ的なものは特に)。

まあそれでも、今までPHP4だから妥協していた部分がいろいろきれいに書けるようになるし、何よりエラーハンドリングがまともに書けるようになるし、頑張ってPHP5に移行していこう。思ったよりもずいぶんつらそうだけど。

Published At2006-03-20 00:00Updated At2006-03-20 00:00