読者です 読者をやめる 読者になる 読者になる

PHP5.3について調べてみた

諸事情によりPHP5.3について再び調べる必要が出てきたので、ちゃんとブログにまとめようと思い立った。が、疲れてるので無理。
会社の後輩は今度おれにコーヒー奢れ

PHP6へのつなぎとしてのPHP5.3

PHP6は出そうにないから、PHP6に入れる予定だった機能の先出し。Perl6みたいなもん?
PHP6のUnicode以外の機能はほぼ取り入れられたらしい
というわけでマイナーバージョンアップとは思えないほど変わってます。そのためPHP5.2系のメンテは当分続くそうです
これはすごく大きくって、今の会社で動いてるやつをPHP5.3にするとなると人間が死ぬ。僕が会社にいる間はPHP5.2で大丈夫そうです^^

パフォーマンス

PHP5.3では新機能が多数取り入れられてますが、地味にパフォーマンスが上がってるらしいです。
メモリの消費量が減ったらしい。Cakeはメモリ食いだと聞いた気がするので、地味にみんなうれしい気もします
会社も「パフォーマンスパフォーマンス」とうるさくなってるので、これはうれしいですね
バグフィックスとかは後で調査

主な新機能

結構あります。

  • 無名関数
  • Phar
  • 名前空間
  • goto
  • 遅延静的束縛(Late Static Bindings)

でもうちの会社で使うとなると、名前空間くらいでしょうね。
なぜかってのは明日会社で書く

地味な新機能

  • php.iniの強化
  • クラス外でもconstが利用可能
    • パフォーマンスが確実に上がるから置き換えるべき
  • 3項演算子の省略形
    • あるあるなので積極的に取り入れてもいいと思う
  • 入れ子の例外処理
    • 使うのか?
  • ガベージコレクション
    • うれしい
  • 日付操作系クラスの追加
    • DateInterval,DatePeriod
  • SPL
    • こんなものがPHPにあったのかってレベルなので、まぁいいかなと思う

互換性が怪しい関数達

ざっと見た感じではあまり影響が無さそう
ereg系関数が非推奨になってそのうち消えるらしいので、社内リポジトリで見かけたら直してコミットし直した方が良いかも。どっかで見た気がする