程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 精通PHP的十大要點(下)

精通PHP的十大要點(下)

編輯:PHP綜合

6. 利用好PHP的過濾函數 - Joey Sochacki

或許Joey Sochacki並不像Matt Mullenweg那樣有名 ,但他也是一個經驗豐富的開發者,並且通過他的博客Devolio分享了很多技術經驗

Joey發現在編寫php代碼的過程中有很多地方需要進行過濾,但卻並沒有太多的coder關注PHP的內置過濾函數。

過濾數據是我們經常需要做的事情,但是很多功能豐富的PHP內置過濾函數卻不為人知。使用類似filter_* 的PHP內置函數,我們幾乎可以處理所有的過濾任務,包括數據類型驗證/URL/email和IP地址驗證/特殊字符處理等等。

過濾是一件復雜的事情,但是我相信joey的發現會給你很多啟發,讓你認識到PHP強大的過濾功能。

7. 使用PHP框架 - Josh Sharp

對於是否應該使用Zend, CakePHP, Code Igniter, 或者 其他PHP框架,一直存在著很多爭議,但是在web開發者的心中,他們有自己衡量的標准。

Josh Sharp自己創建了一家提供面包和黃油服務的網站,因此他對於使用PHP框架來開發網站有一定的經驗。他認為使用一個PHP框架來進行項目開發(use a PHP framework ),可以有效地節省時間,並且減少出錯的幾率。為什麼?因為他覺得PHP實在是太好上手了。

PHP的易於使用有時候也有缺陷,因為並不嚴格的語法,經常會導致很多錯誤代碼的誕生。但如果使用一個PHP框架,出錯的幾率就會大大減少。

PHP框架可以讓你的代碼結構更加規范,並且節省大量時間,你可以閱讀《 benefit of using a PHP framework 》來獲得更多相關信息。

8. 不要使用PHP框架 - Rasmus Lerdorf

與Josh的觀點恰恰相反, PHP的鼻祖Rasmus Lerdorf卻認為最好不要使用PHP框架,為什麼?因為不基於框架的PHP性能更好。

Rasmus在Drupalcon 2008的演講上,用“Hello World”的例子來對比了一些框架PHP和簡單PHP之間的性能,結果顯示框架PHP的性能要遠遠落後。

9. 使用批處理 - Jack D. Herrington

Jack Herrington對PHP世界並不陌生, 並且為大名鼎鼎的IBM developerWorks貢獻過超過30篇的專搞, 同時出版過《PHP Hacks》的書,因此他是一個真正的專家。

Herrington 推薦使用批處理和Cron來代替那些可以運行在後台的程序腳步,web用戶並不願意在線等待你的處理過程,所以有些事情更適合放到後台來處理。

誠然,在某些情況下,這有點大材小用了,但是你可以清楚地看到,使用Cron, MySQL, PHP面向對象的方法以及Pear::DB這些便捷的工具來創建一個批處理工具並不是一件復雜的事情。

Jack認為使用cron, PHP和MySQL在後台處理一些任務,比起多進程的業務邏輯要劃算得多。

兩種方法我都嘗試過,我認為Cron非常符合”Keep It Simple, Stupid” (KISS) 的原則,它讓後台處理變得簡單。與多進程的業務邏輯相比,它沒有內存溢出的風險。你可以創建一個簡單的批處理腳本,並且在cron中運行,這個腳本會定時檢查是否有任務需要處理,處理完之後就會自動退出,因此你不用擔心是否有進程卡殼,或者陷入死循環。

10. 及時啟用錯誤報告 - David Cummings

David Cummings有一個專門提供CMS軟件服務的公司 ,並且獲得過幾次獎 ,他有非常豐富的PHP開發經驗。

David曾經寫過《two PHP tips he wished he’d learned in the beginning》,其中一點就是:及時啟用錯誤報告,這會節省大量的時間。

我告訴人們,最重要的事情就是最大程度地開啟PHP的錯誤報告,為什麼?因為PHP可能會隱藏很多小問題:

  • 變量沒有預定義
  • 在代碼片段中引用了不可用的變量
  • 使用了未定義的常量

    這些因素看起來並不是什麼大事,除非你在使用面向對象的方法編寫一些類庫。通常,關閉錯誤報告將可能使你付出更大的成本來維護你的代碼。

錯誤報告可以幫你輕易地找到代碼的問題所在,如果錯誤報告的等級夠高,細微的錯誤都能被立即發現,幫助你節省整體debug的時間。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved