2009-09-11 151 views
0

據我所知,PHP是一種動態類型的語言。我們不需要聲明變量,也不需要定義變量和函數返回的數據類型。PHP是否足夠動態?

我發現an article on sitepoint和一位評論者說PHP不是動態不夠,因爲......

PHP做許多事情在 編譯時(如整個「靜態」 「自我::」東東)而不是運行時。

我很好奇它。有人能以最簡單的形式定義什麼是動態類型語言嗎? PHP是否足夠動態?

感謝

+0

我不認爲文章是在都在談論動態類型,但而是缺乏像反射和其他「動態」運行時功能,比如擴展已經定義的類的能力(就像在Ruby或JavaScript中一樣)。 – 2009-09-11 21:30:02

回答

3

足夠PHP動態?

這純粹是主觀的,但我會說「是」:只要它可以讓你/我不要做的是從它需要什麼,這是好/動態/快/不管不夠; - )


關於靜態/自我的東西:有過一些在PHP很大的改進5.3 (在今年 6月)月底發佈:現在有Late Static Binding,其中已實施正是爲了回答這個問題的關注:

此功能被命名爲「後期靜態 綁定」,其中內部視角爲 。 「後期綁定」來自 事實上static::將不再是 使用定義了 方法的類來解決,但它將使用運行時信息來計算而不是 。 它也被稱爲「靜態綁定」 ,因爲它可以用於(但不限於 )靜態方法調用。

當然,PHP 5.3還沒有被廣泛使用......但是,這會來的,一天或其他^^