一、PHP相關命名規範
#1、方法命名
方法,指的是類別中定義的函數,方法的命名使用駝峰法,並且首字母小寫或使用下劃線“_”,例如:getUserName( ),_parseType( ),通常下劃線開頭的方法屬於私有方法;
2、函數命名
函數是指不在類別中定義的函數,例如在公用檔案中的函數。函數的命名使用小寫字母和底線的方式,例如 get_client_ip( );
3、變數命名
4、常數命名
常數以大寫字母和底線命名,例如HAS_ONE和MANY_TO_MANY;5、設定參數指令
設定參數以大寫字母和底線命名,例如HTML_CACHE_ON = 1;二、編碼風格規格
#1、禁止出現多行空格
##如果不是特殊需要,在程式碼檔案中禁止出現多行空格。
2、縮排
程式碼中需要適當的縮排,否則會增加維護難度。
3、目錄結構
一般框架都是有預設的目錄結構,非特殊情況不允許修改目錄結構,例如thinkphp預設的是MVC架構的目錄結構,避免因更改目錄結構所帶來的維護困難。 Controller檔案放在Controller目錄 中,Model檔案放在Model目錄中,View檔案放在View目錄中,不要隨意更改目錄的位置和目錄名稱。
三、安全性所有的輸入框請設定最大長度,必填項請做必填的限制。例如帳號CHN00000001,只能輸入11位,那麼最大輸入長度只能為11,並且加入required="required"屬性。
2、文字編輯器
前台頁面盡量不要使用富文本編輯器,因為富文本編輯器可以輸入程式碼,有很大的安全隱患。如果要使用,必須對提交內容進行過濾,例如使用htmlspecialchars()進行過濾。3、後台接收參數
PHP從表單取得url中取得參數必須進行欄位類型判斷。例如接收數字的參數不能含有其他字符,只能是數字,建議編寫公共的檢查接收post和get參數的函數,對每個參數值進行驗證,防止注入惡意程式碼。接收長篇內容的變量,例如留言內容等變數時,必須進行特殊字元的過濾操作。例如strip_tags()、htmlspecialchars()、htmlentities()等函數可以運作,防止使用者註入惡意程式碼進行跨站腳本攻擊。4、權限控制
凡是需要登入之後才可以存取的頁面載入頁面之前必須做好登入偵測,登入逾時的必須重新登入。需要權限存取的頁面和功能必須做好權限控制和偵測。
四、並發和大流量處理
1、重複提交為了防止使用者在提交表單時重複提交,表單必須設定提交驗證。例如商城提交訂單時,必須防止使用者重複提交。 Thinkphp框架中提供表單令牌的功能可以防止重複提交,原生php也可以在開啟頁面前產生token,並保存在session,然後將token傳遞到頁面表單字段,在表單提交時將token一起提交,在後台接收時驗證token,驗證後銷毀session的保存的token。
2、session###一次性驗證的session使用後必須銷毀,例如簡訊驗證,表單驗證等,防止一次性session被重複利用,例如在用戶註冊時如果不銷毀簡訊驗證碼session,用戶可以用同一個簡訊驗證碼註冊多個帳號。 #########3、並發#########並發處理會經常碰到,例如商城秒殺功能,如果不做好並發處理,那麼同一件商品江湖被多個用戶購買。 #########並發的處理方案可以考慮以下方案:#########(1)鎖定表運算,缺點是並發數比較大的時候回造成系統卡頓。 ######(2)佇列######(3)負載平衡######(4)資料庫讀寫分離######(5)使用Nginx作為http伺服器## #4、快取
對於經常需要存取的資料庫數據,可以使用快取來提高存取速度,讀取快取檔案資料幣資料庫查詢要快得多,主要快取技術有:
(1)Thinkphp自帶的S()方法
(2)檔案讀寫,這個方法主意資料的加密確保安全性
(3)Memcached
推薦教學:PHP影片教學
以上是php開發遵循規範是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!