?
Ce document utilise Manuel du site Web PHP chinois Libérer
PHP 是一個靈活的動態(tài)語言,支持多種編程技巧。這幾年一直不斷的發(fā)展,重要的里程碑包含 PHP 5.0 (2004) 增加了完善的面向對象模型,PHP 5.3 (2009) 增加了匿名函數與命名空間以及 PHP 5.4 (2012) 增加的 traits。
面向對象編程
PHP 擁有完整的面向對象編程的特性,包括類,抽象類,接口,繼承,構造函數,克隆和異常等。
函數式編程 Functional Programming
函數在 PHP 中是”第一等公民”,即函數可以被賦值給一個變量,包括用戶自定義的或者是內置函數,然后動態(tài)調用它。函數可以作為參數傳遞給其他函數(這一特性被稱為高階函數),也可以作為函數返回值返回。
PHP 支持遞歸,也就是函數自己調用自己,但多數 PHP 代碼使用迭代。
自從 PHP 5.3 (2009) 之后開始引入對閉包以及匿名函數的支持。
PHP 5.4 增加了將閉包綁定到對象作用域中的特性,并改善其可調用性,如此即可在大部分情況下使用匿名函數取代一般的函數。
學習更多 PHP 函數式編程
元編程
PHP 通過反射 API 和魔術方法,可以實現多種方式的元編程。開發(fā)者通過魔術方法,如 __get(), __set(), __clone(), __toString(), __invoke(),等等,可以改變類的行為。Ruby 開發(fā)者常說 PHP 沒有 method_missing 方法,實際上通過 __call() 和 __callStatic() 就可以完成相同的功能。