1、使用Yii2 核心框架代碼規范
* 文件必須使用 <?php 或 <?= 標簽。* 文件未尾應該有一個新行。* PHP代碼文件必須只能使用無BOM的UTF-8。* 代碼縮進必須使用4個空格,而不是tab按鍵。* 類名必須使用大駝峰式(首字母大寫)聲明。* 類中常量必須使用全大寫帶下劃線方式聲明。* 方法名稱必須使用小駝峰式(首字母小寫)聲明 。* 屬性名稱必須使用小駝峰式(首字母小寫)聲明。* 如果是私有屬性名,必須使用下劃線開始。* 使用elseif代替else if。2、變量與數據類型
* 所有的數據類型和變量均應該小寫。包括true,false,null和array3、字符串
如果字符串中不包括變量或單引號時,請使用單引號。$str = 'Like this.';如果字符串中有單引號,你可以使用雙引號來避免額外的轉義。變量替換$str1 = "Hello $username!";$str2 = "Hello {$username}!";4、類
* 類應該使用大駝峰式(首字母大寫)方式來命名。* 括號應該寫在類名下方。* 每個類必須要有符合PHPDoc的文檔部分。 參數,變量,屬性和返回值必須聲明類型,如boolean,integer,string,array或null。 你也可以使用類名,像Model或ActiveRecord。如:對于一個數組類型可以使用ClassName[]。* 在類中的所有代碼必須只有一個獨立縮進tab。* 一個PHP文件中僅應該有一個類。* 所有的類均應該存在命名空間。* 類名匹配文件名。類命名空間應該匹配字典結構。/*** Documentation*/class MyClass extends /yii/Object implements MyInterface{// code}類中常量必須使用全大寫帶下劃線方式聲明。例如:<?phpclass Foo{ const VERSION = '1.0'; const DATE_APPROVED = '2012-06-01';}屬性* 當聲明公共類成員時,要特別明確關鍵字public。* 公有和保護變量應該在任何方法聲明前被聲明。私有變量可以在類頂部聲明,但也* 可添加在關聯的類方法字塊使用之前。* 類中的屬性聲明順序應該是從公有、保護到私有。* 為了增強可讀性,屬性聲明間沒有空行且在屬性和方法聲明間有兩個空?行。* 私有變量應該像如此命名$_varName。* 公共類成員和獨立變量應該這樣首字母小寫命名$camelCase。* 使用描述命名。變量最好不要使用$i和$j來命名。例如:<?phpclass Foo{ public $publicProp; protected $protectedProp; private $_privateProp;}方法* 函數和方法應該命名使用首字母小寫的小駝峰式。* 名字應該體現函數所實現的功能描述。* 類方法中應該經??梢妏rivate,protected和public的修飾。var是不允許的。* 方法的開括號應該在方法下方。/*** Documentation*/class Foo{ /** * Documentation */ public function bar() { // code return $value; }}5、數組
* 數字索引不要使用負數作為索引。* 使用下面的方法來聲明數組:$arr = [3,14,15,'Yii','FrameWork'];* 如果有太多的元素時,可單獨分行:$arr = [3, 14, 15,92, 6, $test,'Yii', 'Framework',];* 使用下面的格式來關聯數組:$config = ['name' => 'Yii','options' => ['usePHP' => true],];6、控制語句
* 控制語句的條件必須有一個獨立的空格在前后的插入句。* 操作符的括號內應該用空格間隔。* 開括號跟控制語句在同一行中。* 關括號應該是新起一行。* 針對只有一行的語句也使用括號。if ($event === null) { return new Event();}if ($event instanceof CoolEvent) { return $event->instance();}return null;// the following is NOT allowed:if (!$model && null === $event) throw new Exception('test');7、switch語句
switch使用下面的格式:switch ($this->phpType) { case 'string': $a = (string) $value; break; case 'integer': case 'int': $a = (int) $value; break; case 'boolean': $a = (bool) $value; break; default: $a = null;}其他規范項
設計文檔 需包含 主邏輯流程圖or可以說明業務邏輯的圖 存儲設計 db設計 其他設計 //容量要求和歸檔,退出設計 代碼設計簡要說明log規范 log文件位置存儲要統一文件配置 其他存儲規范 oss 針對不同文件做路徑規劃 ocs key統一文件管理 附加功能模塊前綴 mqs key統一文件管理 附加功能模塊前綴
新聞熱點
疑難解答
圖片精選