[TOC]
## 前言:
后端主要指php的開發規范,來源于PHP-FIG規范,并經過修改,明確對PHP-FIG規范中的“應該”“不該”“可以”“或”等做了選擇和決策。
根據約束力強弱及故障敏感性,規約依次分為三大類
【強制】【推薦】【參考】
對于規定的延伸信息中,“說明”對內容做了引申和解釋;
## IDE選用
【推薦】
本地開發使用PHPStorm
服務器遠程編碼使用VIM
## 編程規范:
### 自動加載
【強制】
必須使用PSR-4規范
### 加載第三方組件
【推薦】
推薦使用composer加載組件
### 文件
#### 標簽
【強制】
1、PHP文件必須使用<?php ?>標簽,不得使用其他標簽。
2、純PHP代碼文件 必須 省略最后的 ?> 結束標簽。
#### 編碼
【強制】
PHP文件必須以不帶BOM的UTF-8編碼。
PHP文件必須使用 Unix LF (linefeed) 作為行的結束符。
### 注釋
#### 行注釋
【推薦】
單行注釋使用 //
【強制】
多行注釋必須使用/** */
#### 類注釋
【強制】
1. 必須使用/** */注釋符。
2. 必須包含類的定義名字和功能描述。
3. 必須包含類首次創建時的作者或團隊名字
4. 必須包含類首次創建時的時間標記。
例子:
~~~
<?php
/**
* @className:插件應用入口類
* @description:首頁入口,文章頁入口,公告頁入口,用戶中心入口
* @author:calfbb技術團隊
* Date: 2017/10/13
*/
namespace Addons\db\controller;
use Framework\library\view;
class Index
{
use view;
public function index(){
$this->display('index/index.html');
}
}
~~~
#### 方法注釋
【強制】
1. 必須使用/** */注釋符
2. 必須包含類的定義名字和功能描述。
3. 如果有參數列表,注釋中必須包含參數的類型和簡述。
4. 注釋中必須包含方法響應的類型和簡述。
例子:
~~~
/**
* 獲取用戶名字
* @param int $id 用戶的uid
* @param bool $status 用戶狀態
* @return string | bool 響應用戶名
*/
public function getUserName($uid,$status=true){
if($uid==66 && $status==true){
return $this->userName;
}else{
return false;
}
}
~~~
#### 屬性注釋
【強制】
屬性必須放在類的開頭進行定義。
【推薦】
推薦使用/** */注釋符。
注釋中推薦包含屬性的類型和簡述。
### 命名
#### 文件名
【強制】
目錄名必須采用駝峰命名法,并首字母小寫
PHP文件必須以.php 作為文件后綴
PHP類文件必須采用駝峰命名法,并首字母大寫。
PHP配置文件必須采用駝峰命名法,并首字母小寫。
#### 類命名
【強制】
類名必須使用駝峰命名法,并首字母大寫。
#### 方法命名
【強制】
方法名必須使用駝峰命名法,并首字母小寫。
#### 變量名
【強制】
方法名必須使用駝峰命名法,并首字母小寫。
#### 常量名
【強制】
常量所有字母必須大寫,詞間以下劃線分隔。
常量true、false、null 必須全部小寫。
例子:
~~~
define('ATTACHMENT_ROOT', '/attachment');//附件地址絕對路徑
~~~
- 框架介紹
- 初衷
- 簡介
- 目錄結構
- 開發規范
- 后端規范
- 數據庫設計規范
- 數據庫
- 函數操作數據庫
- Medoo操作數據庫
- pdo操作數據庫
- ORM
- 配置文件
- 主配置文件
- 數據庫配置文件
- 文件上傳配置文件
- 路由配置文件
- 模塊獨立配置文件
- 視圖
- 視圖說明
- 常用標簽
- include
- if-else
- for
- G.url
- 大G
- 路由
- 普通模式
- 偽靜態模式
- 兼容模式
- 自定義路由
- 全局常量
- 全局函數
- p
- show_json
- error
- success
- url
- 類庫
- 驗證類
- 文件類
- file_upload上傳
- file_image_thumb縮略
- file_image_crop裁剪
- 緩存類
- 日志類
- 擴展
- 插件應用
- 模版