摘要:被稱為的編程語言。然而,和其他語言一樣,需要遵循良好的代碼規(guī)范。編碼風(fēng)格項(xiàng)目應(yīng)當(dāng)有統(tǒng)一的風(fēng)格。安全開發(fā)者應(yīng)該對(duì)常見的安全漏洞包括跨站腳本攻擊跨站請(qǐng)求偽造代碼注入漏洞和字符編碼漏洞有所了解。
PHP被稱為 quick and dirty 的編程語言。然而,PHP和其他語言一樣,需要遵循良好的代碼規(guī)范。以下是一些小建議。
1. 結(jié)構(gòu)PHP面向?qū)ο蟮奶匦栽试S程序員將應(yīng)用程序分解為函數(shù)或方法。盡量將前端(HTML/CSS/JavaScript)與后端分開,可以考慮使用遵循MVC模式的PHP框架來構(gòu)建你的應(yīng)用程序。??
2. 編碼風(fēng)格?項(xiàng)目應(yīng)當(dāng)有統(tǒng)一的風(fēng)格。比如,統(tǒng)一的類、函數(shù)、變量命名規(guī)則,統(tǒng)一的代碼縮進(jìn),這些可以幫助別人更輕松地閱讀你的代碼。??
3. 安全?PHP開發(fā)者應(yīng)該對(duì)常見的安全漏洞(包括跨站腳本攻擊(XSS)、跨站請(qǐng)求偽造(CSRF)、代碼注入漏洞和字符編碼漏洞)有所了解。使用PHP中的特定功能和函數(shù)(例如mysql_real_escape_string)可以幫助程序員寫出安全的代碼。
??
注釋是代碼中的重要組成部分,良好的注釋有助于代碼日后的維護(hù)。
5. 結(jié)束標(biāo)記對(duì)于只包含有 PHP 代碼的文件,不要使用結(jié)束標(biāo)記("?>")。PHP自身不需要("?>"), 這樣做, 可以意外地在文件末尾插入內(nèi)容。
6. 避免簡(jiǎn)寫標(biāo)記?應(yīng)使用完整的起始標(biāo)記,不要使用簡(jiǎn)寫的起始標(biāo)記。簡(jiǎn)寫的起始標(biāo)記取決于PHP的配置,在別的環(huán)境下可能無法工作。新版的PHP默認(rèn)配置關(guān)閉了對(duì)簡(jiǎn)寫的起始標(biāo)記的支持。??
7. 單引號(hào)由于PHP會(huì)對(duì)雙引號(hào)中的內(nèi)容進(jìn)行變量搜索,為了避免這種搜索帶來的性能影響,程序員應(yīng)該使用單引號(hào)引用字符串。
8. 轉(zhuǎn)義輸出?應(yīng)該在htmlspecialchars函數(shù)中使用ENT_QUOTES參數(shù),保證單引號(hào)"也可以被轉(zhuǎn)義。
9. 使用逗號(hào)隔開字符串輸出?字符串連接符.可以將單一的字符串傳遞給echo語句進(jìn)行輸出。相比之下,在echo語句中使用逗號(hào)分隔字符串能改善性能。
10. 在輸出前檢查傳遞值?記得在輸出前檢查$_GET["query"]的傳遞值。使用isset或empty函數(shù)可以檢查變量值是否為空。
PHP PSR標(biāo)準(zhǔn)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/20653.html
摘要:為什么需要編碼規(guī)范為了提高工作效率,保證開發(fā)的有效性和合理性。在文件編碼中,選擇推薦在換行符中,選擇推薦文件命名程序的文件名和目錄名都采用有意義的英文命名。最后最后說的是,本規(guī)范不是強(qiáng)制,也不是標(biāo)準(zhǔn)?;貜?fù)編碼規(guī)范即可。 為什么需要編碼規(guī)范? 為了提高工作效率,保證開發(fā)的有效性和合理性。 為了提高代碼可讀性和可重復(fù)利用性,從而節(jié)約溝通成本。 本文主要參考了 PEAR 規(guī)范,并進(jìn)行適當(dāng)...
摘要:注本文算是筆者對(duì)規(guī)范翻譯學(xué)習(xí)筆記,之后會(huì)陸續(xù)翻譯剩余的規(guī)范,可能翻譯的有錯(cuò)誤的地方,希望讀者能夠指正,非常感謝什么是是標(biāo)準(zhǔn)建議的簡(jiǎn)寫,是由組織框架交互操作組織提出。的工作是尋找項(xiàng)目之間的共性,以及讓開發(fā)者能更好協(xié)同工作的方式。 注:本文算是筆者對(duì)PSR規(guī)范翻譯/學(xué)習(xí)筆記,之后會(huì)陸續(xù)翻譯剩余的規(guī)范,可能翻譯的有錯(cuò)誤的地方,希望讀者能夠指正,非常感謝. 什么是PSR? ? ??? PSR是...
摘要:既然這不是宗教,而是關(guān)于如何面對(duì)新的事物,我認(rèn)為我們應(yīng)該列出所有其他人認(rèn)為不使用來做開發(fā)的理由。在下工作的不好這是一定的。流行度只是衡量使用率,社區(qū)活躍度的一個(gè)指標(biāo),用來幫助人們判斷技術(shù)的可用性,穩(wěn)定性和支持程度。不幸的是,人們混淆了和。這是一篇贊美 Ruby 的文章!??!看完再噴不遲? 請(qǐng)注意:這是一篇主觀意識(shí)的文章。它的目的并不是要說服你使用或者不使用Ruby,或者其他任何技術(shù)。這...
摘要:對(duì)于程序員來說,更意味著代碼的組織,工作成員之間的協(xié)作方式。我常犯的一個(gè)錯(cuò)誤是直接在或分支上直接,而團(tuán)隊(duì)是不允許這樣做的。 先介紹下背景,博主由運(yùn)營(yíng)轉(zhuǎn)行前端,入職一個(gè)月,完成了一個(gè)相對(duì)較大的模塊。由于基礎(chǔ)相對(duì)薄弱,犯下了不少錯(cuò)誤,故想記錄下來警醒自己和分享各位。 前端技術(shù)棧是 ES6 + backbone + react + antdUI,后端使用的 Ruby on Rails。 1....
閱讀 3361·2021-09-30 09:47
閱讀 2745·2021-08-18 10:22
閱讀 2531·2021-08-16 10:49
閱讀 2899·2019-08-30 15:53
閱讀 2740·2019-08-29 16:14
閱讀 3193·2019-08-28 18:18
閱讀 3239·2019-08-26 13:21
閱讀 797·2019-08-26 12:02