- PHP5.3
PHPの次期バージョンの機能について。
2009年1月25日現在の安定板リリースは、php-5.2.8であるが、
次期バージョンとして、php-5.3.0alpha3が公開されている。
PHP6のリリースが遅れているということもあって、
PHP5.3では様々な機能追加がされているようなので
その内容について調べてみた。
機能
- Pharアーカイブ
標準機能として対応(Javaでいう.jarアーカイブのようなもの) - 高速化
GCにてのメモリ効率の大幅な改善、循環参照の検出機構 - 字句解析(スキャナ)の高速化
flexからre2cへ - Namespace
namespaceおよびclassを定義し、同名クラスの使い分けが可能 - ?演算子
A?:B 3項演算子の拡張形 - Late Static Binding
コンパイル時でなく実行時にスタティックイベントを処理する - MSQL ND
DBにIFをネイティブ実装、メモリ・キャッシュ管理wpPHP側で可能
使用メモリ40%低減、高速化 - NOWDOC
変数の展開をしないHEREDOC
<<<'EOD' ...シングルクォートで囲む - goto文の採用
最後のgoto文は興味深い
いまさら感のあるgoto文。
いろいろな記事で、このgoto文について触れられているが
おおむね好意的にとらえられていそう。
(別にあったからどうってこともなく使わなければいいだけなので当然かもしれないが)
ただ、その昔からgoto文は絶対使ってはいけないなどの禁止令があったりと
いう事も聞くので、おのずと議論になるのでしょう。
goto文に限らずどのような命令・関数でもタブーな使い方はあるが、確かに
goto文はタブーをおかしてしまう可能性が高いと思う。
したがって、できる限り使用せずスマートなフローになるように考えるのが
プロフェッショナルかなと。その上でgoto文を採用するなら良し。
※教育にもよるが新人や経験の少ないひとは、まずはgoto文でフローを制御
せず自然な流れで処理を書けるように考えるのが実力アップにも繋がると思う。
php5.3 goto文について
参照
PHPに押し寄せるリスクと国際化