PEARをcomposerで入れて、オートロードの仕組みを調査してみた

JUGEMテーマ:PHP
 

composerでPEARを入れて、オートロードの仕組みを調査してみた

仕事のコードがとても歴史あるプロジェクトで、
時代の流れもあってもPEARをがっつり使っているんだけど、
そこで色々困ったことがあるのでcomposer化したいという話。
続きを読む >>

PHPのDB接続ライブラリを図でまとめてみた

JUGEMテーマ:PHP
 

PHPのDB接続ライブラリを図でまとめてみた

仕事のPHPコードで使用するDB接続ライブラリの移行をしなくちゃならないんだけど、
めちゃくちゃレガシーなコードで、
相当大規模な引越しになるっぽいので、
まずは現状を整理するために一旦図でまとめてみた。
 
続きを読む >>

PHP5.5->5.6でやらなきゃいけないこと

JUGEMテーマ:PHP
 


全てを把握するんだったら公式サイトを見ればいいので、
修正が必要そうな項目のみ抜粋します。
 
  • クラスのプロパティに配列を使ってて、暗黙的なキー指定と明示的なキー指定が混在している場合に上書きが発生していたが、発生しなくなった。
  • json_decodeが、null, true, falseは小文字のものしか受け付けなくなった。(JSONのフォーマットに準拠させるため)

PHP5.4->5.5でやらなきゃならないこと

JUGEMテーマ:PHP
 

全てを把握するんだったら公式サイトを見ればいいので、
修正が必要そうな項目のみ抜粋します。

 
  • pack、unpackメソッドがPerlとの互換性を高めるために変更され、'a'を使っている場合の広報互換性が崩れてしまった。
  • GUIDを返すメソッドが削除された。
  • MySQL拡張モジュールが非推奨になった!!!

PHP5.3->5.4でやらなきゃならないこと

JUGEMテーマ:PHP
 


全てを把握するんだったら公式サイトを見ればいいので、
修正が必要そうな項目のみ抜粋します。
  • セーフモード、マジッククォート、register_globalsのかなり広域に影響のあるini設定が削除された。悪名高いregister_globalsがついにいなくなる。
  • mbstring.script_encodingが削除された。
  • メソッド呼び出し時の&はサポートしなくなった。&はメソッド定義側にのみ記述する。
  • break、continueへの引数に変数は使えなくなった(つか使えたのか・・・)
  • $_GETや$_POSTなどスーパーグローバル変数を引数に使うとFATAL ERRORとなった
  • ハッシュアルゴリズムからSalsa10とSalsa20が削除された
  • ob_startの3番目の引数がbooleanからintegerに代わった。
  • sqliteがPHP拡張モジュールからPECLに移動した。
  • pdo_mysqlがMySQLクライアントライブラリ4.1より前のバージョンとのリンクをサポートしなくなった!!!
  • htmlspecialcharsとhtmlentitiesのデフォルト文字セットがUTF-8になり、default_charsetがデフォルトにならなくなった。一般的にPHP5.4移行時は第3引数に明示的に変換前の文字エンコーディングを明示する必要がある。