11月
22
2009
分類:
最近更新:
2009-11-22
PHP 5.3/6 新增功能 - New magic methods
There are two new magic methods, __callStatic and __invoke.
PHP5.3 起新增了魔術方法 __invoke()。
簡單說,就是 C++/C# 中的 operator()
運算子重載。
還新增了魔術方法 __callStatic(),專門負責調用靜態方法。
__invoke()
PHP5.3 新增了魔術方法 __invoke()。
簡單說,就是 C++/C# 中的 operator()
運算子重載。
好吧,對於不熟悉 C++/C# 的讀者來說,前一句話一點都不簡單。
請看從函數指標到函數個體,大致了解函數與函數個體的區別。
pure function invoke function object (count: 1) invoke function object (count: 2) invoke function object (count: 1)
函數個體可以保有獨自的狀態,所以最後一行的 $funcObj2()
所顯示的計數值不同於前兩行。
__callStatic()
PHP 還新增了魔術方法 __callStatic()。它主要目的是補齊魔術方法 __call()
不能調用靜態方法之不足。亦即 __callStatic
是專門負責調用靜態方法的魔術方法。
You try to call static method foo
相關文章
樂多舊網址: http://blog.roodo.com/rocksaying/archives/10796767.html