現代php編程
阿新 • • 發佈:2018-02-03
管理 mono fault 區別 logs 函數式編程 mon 模式 面向
自動加載__autolaod和spl_autoload_register()
自動加載就是指如果找不到某個類如何處理的方式,具體可參見此文,可以說spl_autoload_register是更加高級,更加靈活的加載方式。
命名空間
C++裏很早就引入了命名空間來解決命名沖突,隨著php的工程量逐漸增多,在php5.3也引入了命名空間的機制。有了自動加載和命名空間之後,以此為基礎上才有了現在php社區的流行的composer包管理器。不得不說composer是個非常出色的包管理器,比nodejs的npm,和python的pip好多了。關於命名空間可參考此文。
接口
面向契約編程trait
公用的代碼片段,組合模式,組合優於繼承的思想
延遲綁定
static和self的區別叠代器和生成器
匿名函數和閉包
日誌
推薦使用monolog配合rsyslog,或者第三方日誌服務
寫時復制 copy on write
$foo['love'] = 1; $bar = &$foo['love']; $tipi = $foo; $tipi['love'] = '2'; echo $foo['love'];//輸出2
$bar變量的引用操作,將$foo[‘love‘]汙染變成了引用,從而Zend沒有 對$tipi[‘love‘]的修改產生內存的復制分離。
- 可變參數
- php監控性能調優apm
[ ] 反射
- PSR PHP業界規範
- PHP優化的經驗
- PHP函數式編程
[] 方法重載
現代php編程