一個項目在著手開發(fā)之前,一定要確定好相關的開發(fā)規(guī)范。比如文件目錄結構、方法名稱、變量名稱、代碼風格以及注釋等。本期內(nèi)容,我們就以CRMEB開源商城系統(tǒng) & 標準版系統(tǒng)(PHP)為示例,系統(tǒng)的介紹一下本項目中的開發(fā)規(guī)范。

一、文件目錄
CRMEB標準版系統(tǒng)(PHP)的框架使用的是ThinkPHP6,主要目錄和框架目錄相似,在這里說明一下項目中使用到的主要目錄:

1、程序根目錄下的crmeb目錄是系統(tǒng)的核心目錄,程序的核心功能都在這個文件夾下,基類、支付、短信、授權、導出、云存儲等基本功能都在次文件夾下。
注意???? 這個文件日常開發(fā)中盡量不要修改,如果必須要增加一個基礎功能時,再去修改此文件夾。
2、app是ThinkPHP默認的目錄,但是項目在app文件夾下進行了功能性的細化,包括model、dao、services等。
model:對應數(shù)據(jù)庫的文件,保證每一張表都有一個model對應,這是一個最簡單的model文件,命名空間,引用基類,$pk是表主鍵,$name是表名稱。

dao層文件:只做數(shù)據(jù)查詢、添加、修改等數(shù)據(jù)庫操作,不做任何數(shù)據(jù)處理。

services層:處理程序的主要邏輯,如果構造方法注入dao層文件,services層的文件和dao層文件不是一一對應的。

controller層:這個里面的文件用于接收數(shù)據(jù)和發(fā)送數(shù)據(jù),接收到數(shù)據(jù)之后調(diào)用對應處理數(shù)據(jù)的service層代碼進行處理,再將返回值發(fā)送給請求方。

二、代碼的開發(fā)
namespace和use規(guī)范:
(1)namespace聲明后必須插入一個空白行
(2)所有use必須在namespace后聲明
(3)每條use聲明語句必須只有一個use關鍵詞
(4)use聲明語句塊后必須要有一個空白行

類的定義:使用英文名詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,名詞的首個字母使用大寫,不使用下劃線,extends必須和類名在同一行。

定義的每個屬性都必須添加訪問修飾符:public、protected或private。

方法的命名規(guī)則:使用小駝峰命名
(1)使用英文名詞、動詞,以大寫字母作為詞的分隔,其他的字母均使用小寫,單詞的首個字母使用小寫;
(2)不使用下劃線參數(shù),嚴格情況下需要聲明變量類型,有默認值的參數(shù)需要在最后面;
(3)每一個方法都要有注釋,表明方法用途、傳入?yún)?shù)和類型、返回的參數(shù)類型等。

所有的運算符左右都要留下空格,類似下面的方法:

(1)PHP所有關鍵字必須全部小寫
(2)非空行后一定不能有多余的空格符
(3)每行一定不能存在多于一條語句
(4)適當空行可以使得閱讀代碼更加方便以及有助于代碼的分塊(但注意不能濫用空行)。
溫馨提示:在功能邏輯實現(xiàn)過程中,避免在循環(huán)中進行數(shù)據(jù)庫的操作!
CRMEB技術社區(qū)交流:
對本文有任何見解,或?qū)RMEB產(chǎn)品相關開發(fā)規(guī)范有疑問的朋友,都可以在本社區(qū)發(fā)帖/留言反饋,我們的產(chǎn)品開發(fā)人員會在線為您答疑解惑,也能和更多技術開發(fā)同仁共同交流哦~
CRMEB產(chǎn)品圈定期更新分享
????歡迎關注【CRMEB產(chǎn)品圈】????


