搜尋
首頁後端開發PHP問題php開發遵循規範是什麼
php開發遵循規範是什麼Sep 26, 2019 pm 05:40 PM
php開發規範

php開發遵循規範是什麼

一、PHP相關命名規範

#1、方法命名

方法,指的是類別中定義的函數,方法的命名使用駝峰法,並且首字母小寫或使用下劃線“_”,例如:getUserName( ),_parseType( ),通常下劃線開頭的方法屬於私有方法;

2、函數命名

函數是指不在類別中定義的函數,例如在公用檔案中的函數。函數的命名使用小寫字母和底線的方式,例如 get_client_ip( );

3、變數命名

##變量,也叫屬性。屬性的命名使用駝峰法,並且首字母小寫或使用下劃線“_”,例如tableName、_instance,通常下劃線開頭的屬性屬於私有屬性;

4、常數命名

常數以大寫字母和底線命名,例如HAS_ONE和MANY_TO_MANY;

5、設定參數指令

設定參數以大寫字母和底線命名,例如HTML_CACHE_ON = 1;

二、編碼風格規格

#1、禁止出現多行空格



##如果不是特殊需要,在程式碼檔案中禁止出現多行空格。

2、縮排

程式碼中需要適當的縮排,否則會增加維護難度。

3、目錄結構

一般框架都是有預設的目錄結構,非特殊情況不允許修改目錄結構,例如thinkphp預設的是MVC架構的目錄結構,避免因更改目錄結構所帶來的維護困難。 Controller檔案放在Controller目錄 中,Model檔案放在Model目錄中,View檔案放在View目錄中,不要隨意更改目錄的位置和目錄名稱。

三、安全性


1、輸入框

所有的輸入框請設定最大長度,必填項請做必填的限制。例如帳號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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么设置implode没有分隔符php怎么设置implode没有分隔符Apr 18, 2022 pm 05:39 PM

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具