亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    如何寫出優(yōu)雅耐看的PHP代碼?本篇文章帶大家了解一下PHP代碼的基本書寫規(guī)范和框架規(guī)范,了解它們讓你的PHP代碼優(yōu)雅一個檔次!

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    引言

    今天老王同學(xué)跟我說,他的代碼好糟糕,像一坨xiang。問我要怎么

    提高自己的代碼質(zhì)量,讓自己代碼看得順眼一點,舒服一點, 就像

    看到大長腿MM,兩眼放光那種。

    于是我: 你先這樣,然后這樣,然后再那樣。。。。。。

    老王同學(xué): 別鬧, 到底是哪樣?

    好的, 我要開始裝13了。。。

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    基本規(guī)范

    先說一下最基本的東西:

    • 變量名使用駝峰命名。不懂的單詞不要用拼音,而是要查詞典找到對應(yīng)的單詞。

    • 常量命名使用大寫下劃線方式命名。如:SYSTEM_EROOR = 50000

    • 縮進使用Tab鍵,不要打一堆空格做縮進。

    • 類名首字母大寫駝峰命名,需要見名知其意,注釋說明這個類的功能。例如:

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    • 方法名駝峰命名,方法行數(shù)盡量控制在80行左右,注釋說明函數(shù)干嘛用的。

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    • 花括號獨占一行,例如:

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    • foreach慎用引用,例如以下代碼會有問題:

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    預(yù)期結(jié)果是輸出: 2 4 6,實際結(jié)果是2 4 4, 至于為什么可 以看我之前的文章: PHP中&符號你真的了解嗎?。 可以使用array_walk`方法避免這個問題, 示例:

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    • 避免if, elese嵌套過深,很多嵌套可以通過提前終止來消除, 舉個簡單的例子:

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    建議使用第二種方式,不符合條件的直接返回,剩下的就是符號條件的,那么避免了在if里面寫很多代碼。

    • 多個if/else使用switch來替代,PHP8.0版本可以使用match更為簡潔。

    • phpstorm中安裝SonarLint插件。如果你寫的代碼出現(xiàn)虛線,說明不太理想,那么可以根據(jù)提示修改,相信有強迫癥的同學(xué)一定會改,久而久之代碼就很規(guī)范了。例如:

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    方法未使用,方法名不規(guī)范已經(jīng)告訴你了,可以快捷修改,也可以自己修改。

    框架規(guī)范

    • 前面說得都是比較基礎(chǔ)的東西,接下來才是主要的內(nèi)容。

    • 相信很多同學(xué)都用過常用的thinkphplaravelyii等流行框架之一。

    • 這些框架都是MVC架構(gòu)的,看過很多人的代碼,要么把業(yè)務(wù)邏輯寫在控制器里面,要么寫在Model里面, 寫在Model里面相比寫控制器里面的還相對好一點。其實對于大型項目都不太友好。

    • 下文以Laravel框架為例。

    參數(shù)驗證

    • API需要進行參數(shù)驗證,但是參數(shù)驗證寫在哪里比較優(yōu)雅呢?可能很多人在controller定義規(guī)則,然后在調(diào)用驗證方法,那么驗證那段代碼將在每個API里面出現(xiàn),例如我同事寫的。

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    • 這段代碼在每個API里面均會出現(xiàn)一次,豈不是很啰嗦,那么如何解決呢?

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    • 在Laravel的http目錄下建立一個Requsts目錄,用于存放請求的參數(shù)驗證類。建立一個BaseRequest類:

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    比如登錄需要參數(shù)驗證再建立一個LoginRequest類繼承這個BaseRequest

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    • 使用的時候只要在Controller的方法中注入這個請求類即可。

    如何寫出優(yōu)雅耐看的PHP代碼?淺談書寫規(guī)范

    這里獲取請求參數(shù)的時候會對表單進行驗證,否則參數(shù)驗證失敗會調(diào)用剛剛Request積累定義的方法拋Json異常,返回信息給客戶端。

    控制器

    控制器的主要工作負載獲取請求數(shù)據(jù)和返回內(nèi)容,不應(yīng)做

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號