總結的一些PHP開發中的技巧

2021-06-18 13:13:48 字數 2011 閱讀 6361

1、準確的理解各種概念。現在的新東西層出不窮,望文生義和一知半解對開發工作有害無益;

2、**美觀,適當的空行、縮排,空格,這樣能更容易理解**段的意思;

3、一定要寫注釋,而且要恰當的注釋,要不然後面的維護工作或者接手**的人會痛哭不已;

4、靜態方法、類訪問許可權、介面、抽象類應該綜合起來使用,發揮各自特點;

5、不要複製貼上,即使是要用到現成的**,也要一行一行的審閱後,再加入到新專案,因為經驗告訴我們,這太容易出錯了,對於使用開源類這種大段**更需要;

6、變數都要初始化;

7、不要只處理error,而忽略warning和notice,這可能會導致日後的莫名其妙的問題,專案在開發狀態下應該是error_reporting( e_all  ^  e_notice ),等到發布的外網生產環境時,應關閉所有錯誤報告display_errors=off,error_reporting(0)網友 paul gao分享了他們更合理的方案,error_reporting(e_all | e_strict),並且在生產環境中記錄錯誤日誌

8、記錄一些必要的錯誤日誌,比如寫檔案失敗、寫memcache失敗,socket連線失敗、讀寫資料庫失敗,日誌能夠幫助出現問題時的快速定位,外部生產環境我個人是強烈建議關閉所有錯誤報告的;

9、用try、catch捕獲異常,對**的健壯有幫助,常常在api介面中碰到,這樣子顯得友好多了;

10、雙引號中出現的變數建議加上大括號,至於是」$at gmail.com」還是」at zendstudio.net」看個人習慣,我更喜歡後面一種;

11、盡量少的if else巢狀層數,也許你要表達乙個非常複雜的邏輯演算法,但這樣做至少能讓**邏輯更清晰

13、語言包用sprintf的格式化來做是多麼愜意的一件事啊!

14、寫快取並不總是要先serialize一次的

15、ajax傳資料的時候,不要將資料庫查出的陣列直接json_encode後傳給客戶端,這樣做不僅有一定的安全風險(欄位名暴露),而且一些不需要的資料被傳出浪費頻寬,這條同樣適用於api介面

16、要記得處理魔術變數,我的方法是直接關閉,當然也可以獲取開關狀態來避免傳輸資料被處理兩次的問題

17、用$globals['var']代替global $var

18、不能輕易的die掉程式,尤其是在方法內部

19、require、require_once、include、include_once有著略微不同的應用場景

20、為了最大限度的使得寫入快取成功,可以結合重試次數+usleep,我一般重試3次,還不行那就記下一條log了

21、php的常量是個非常好的東西,很多開源專案中用一整個檔案來定義要用到的常量

22、盡可能的使用絕對路徑尋找檔案

23、autoload是個很靈活的東西

24、最好用上set_error_handler和set_exception_handler,那顯得你的專案更完美

25、php的引用型別是很高效的,在進行複雜運算時建議使用

26、@符號抑制錯誤是很耗效能的,因此盡可能的找到替代方案

1、sql語句用雙引號,其中的值都用單引號,例如」insert into gril set money=』』,age=』18′」

2、用mysqli擴充套件代替mysql擴充套件

2、用mysqli_real_escape_string和mysqli_escape_string處理傳出sql語句中的變數

3、用mysqli_set_charset(mysqli->set_charset)代替 query 「set names」

4、聯合查詢(join)之前,考慮下各個表的資料量,不合適的話應該分開查,尤其是有快取可用的時候

5、很多地方需要記錄發生時間,但不是每乙個表都需要,同樣,不是每乙個表都需要乙個自增量作主鍵

6、很多時候為integer型別加上unsigned是很好的

7、inert deleyed、insert ignore、select distinct…這種語句通常有意想不到的好效果

8、varchar型別並不是不能超過255長度,而是超過了255,這個欄位就不能建立索引了,所以,看你的實際需要了

關於php開發的一些總結

一 php連線mysql資料庫 host localhost db user root db pass password db name databasename timezone asia shanghai link mysql connect host,db user,db pass mysql...

PHP開發的一些注意點總結

技術平台的不同,導致了實現方式的不同,同樣是php,小公司往往選擇的是win平台而大公司選擇的是類unix平台 linux,freebsd and other 現在就最近這段時間的學習,這好乘國慶長假這段時間好好的總結下的了.linux系統的使用 現在標配的系統是 linux nginx php m...

移動端開發的一些技巧總結 2

總結一下一些知識。1.利用css穿透 常見發生場景 假如我們需要通過input,type file 來上傳檔案,而這個input的預設樣式,可以說是非常地 不人道 所以我們希望通過一張,與這個input大小一樣,位置一致地蓋在上面。這個時候,顯然,這個時候點選,input是不會起作用的。就是因為im...