程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 關於php開發web網站程序的幾點經驗分享

關於php開發web網站程序的幾點經驗分享

編輯:PHP綜合

關於php開發web網站程序的幾點經驗分享

以前把php當作一個純粹的系統編程腳本,從3月份開始第一次使用php寫web網站,一點經驗在這裡總結一下。

一:打開錯誤顯示和錯誤日志。在php.ini中把dispaly_errors設置為On,或者在腳本開頭用ini_set('display_errors', 'On')。

二: 調試工具必備。需要兩種調試工具:第一種是調試php腳本的,就像C調試器那樣可以在腳本中設置斷點,單步執行,運行時查看變量值、修改變量值等,我用的 是xdebug + vim;第二種是調試HTTP的,當頁面打開後一片空白,連個錯誤信息都沒有,或者有些ajax調用的地方出現程序錯誤,這個時候很需要一個工具來查看實 際的HTTP通信過程,我用的是firefox的插件httpfox。

三:自定義錯誤處理和異常處理程序。錯誤處理和異常處理這兩個是極 好用的東東,我一般用錯誤處理來向終端用戶報告錯誤,用異常來記錄應用程序運行時錯誤,比如數據庫連接錯誤等。這兩類錯誤我自己也時常分不清楚,我使用它 們的時候基於這個想法:當程序運行出錯時,向用戶報告的錯誤信息一定要友好且隱藏數據庫和後台代碼細節,這個時候就用trigger_error引發自定 義的錯誤處理程序來報告錯誤;同時程序員要能夠在事後知道程序為什麼會出錯,這需要記錄錯誤發生處的調用棧等信息,而異常本身就把這些信息保留得非常完 全,所以這個時候我會throw new Exception("error message")來觸發自定義的異常函數,然後在異常函數中把錯誤信息用error_log記錄到日志文件中去。設置自定義錯誤處理程序用 set_error_handler,設置的這個自定義函數中返回false表示在處理之後再把該錯誤由php默認的處理函數處理一次,返回true表示 在自己處理後即終止。設置自定義異常處理函數用set_exception_handler。

四:一些輔助工具如firefox的插件firebug極好用。它可以馬上查看頁面上任何一個元素的html代碼和css格式,可以調試javascript。

五:再次推薦xdebug工具。它把所有的錯誤信息都格式化輸出,看起來非常明了。

六: 使用MVC的時候經常判斷不清楚哪些應該放在controller裡面,哪些應該放到model裡面。放錯了沒關系,一個功能有很多種實現方式,只要保證 統一就好。代碼風格糟糕也沒關系,多讀幾個函數就習慣了,只要全局約定都統一起來,代碼就無所謂好壞了。全局約定統一這是需要意志力去堅持的,要花時間去 克服那種為了偷機取巧破壞全局規范的壞毛病。

七:考慮問題一定要全面。要把數據庫的ER圖常放在手邊,並且要清楚地理解各個頁面的作用和各個頁面對模塊的引用情況,這樣在修改的時候會影響到哪些地方就都清楚了。沒有對數據庫結構和各頁面對各模塊的引用的概覽,單憑智商來判斷,是非常不可靠的,思維也需要工具。

八:太依賴自動化工具和測試數據來發現程序錯誤會降低人的智商和思考力。

九:數據庫表名在windows下是case insensitive的,在linux下case sensitive的,把數據庫從一個OS導出再到另一個OS的服務器上導入時代碼常出問題。所以數據庫表名最好全用小寫,表名中單詞之間的分隔可以用下劃線。

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