PHP 5.3 新增特性列表與本部落格的系列文章:
- 名稱空間 (Namespace)
- 延遲靜態繫結 (Late Static Bindings)
- 新的魔術方法, __callStatic and __invoke.
- 標記跳躍, Support for jump labels (limited goto) has been added.
就是 goto ,忘了它吧。 - HTTP 串流轉接器(HTTP stream wrapper) 現在將狀態碼 200 到 399 視為成功執行。我不曉得為什麼這會列在新功能中。這看來是為了改善 RESTful service 的支援。
- 支援巢狀的例外處理。
- 加入一個垃圾收集器,預設開啟。嗯... PHP 沒有垃圾收集功能嗎?Ok, 原本的垃圾回收機制清潔力不夠。 目前大多數 PHP 程式架構是處於一次性消耗的無狀態環境下,基本上我們都假設程式跑完後行程就自動結束,而行程中配置的資源也會被作業系統回收。 在這種情形下設計出來的 PHP 程式碼,直接搬到 application container 架構執行時,會出現資源佔用不放的問題。 所以這功能應該是為了將來發展 PHP 的 application container 而強化的機制。
- 閉包、匿名函數(native Closures)(Lambda/Anonymous functions)。
- 新的即席文件語法(Nowdoc syntax)。
- 關鍵字 const 現在可用於類別定義之外。
- 三元運算子(?:)有縮寫形式。
關於 Closures (匿名函數), Const, Nowdoc 等新功能,將於本文中說明。
...繼續閱讀