公司代碼規范


xcore框架目錄

├─vendor     擴展目錄(在這個目錄可以使用composer 安裝插件)
├─library     框架核心目錄
│  ├─db      封裝的底層數據庫操作類
│  ├─my     封裝常用功能靜態類
│  ├─Function.php     通用函數
│  ├─G.php     全局變量
├─common     通用模型(涉及到數據庫)

框架支持:

  • 命名空間,支持composer
  • 多域名部署
  • 分布式環境支持(cookie入庫)
  • php7以上
  • mysqli

項目目錄結構

www  WEB部署目錄
├─application     應用目錄
│  ├─autoload     自動加載
│  │  ├─function.php     項目函數文件
│  ├─common     公共模型目錄
│  │  ├─model     業務模型(不用事務)
│  │  ├─server     業務模型(使用事務)
│  ├─config     配置目錄
│  │  ├─adminmenu.php     后台目錄配置文件
│  │  ├─type.php     業務配置文件
│  ├─admin     后台模塊
│  ├─www     前台模塊
├─public     WEB目錄(對外訪問目錄)
│  ├─static     靜態文件目錄
│  ├─index.php     入口文件
│  └─.htaccess     用於apache的重寫

編寫規范

  • 命名原則, 能夠表達語義. 選擇簡單的單詞
  • 目錄小寫;
  • 所有Php文件,首字母大寫, 里面的類名和文件名保持一致
  • 函數名稱, 下划線/駝峰.
  • 數據庫建表規范,表名用常用英文單詞. 索引固定寫id, 關聯字段,用關聯表加下划線id
  • 業務配置規范, 數據庫表名_字段名 (簡單通用的可以直接用簡寫)
  • controller名稱與數據庫表保持一致
  • controller固定方法名稱, lists, add, edit, detail, del, delall
  • 模板和提交數據共用一個方法名稱 用is_post() 函數區分開

程序文件目錄

controller: 參數驗證, 代碼業務邏輯
model: 封裝復雜的業務邏輯
server: 有事務的業務邏輯
view: 模板

服務器圖片處理

每次編輯,更新,刪除都要對業務的圖片進行處理

#添加/編輯文章時, 處理文章圖片, $d是文章入庫字段
m('Attachment','xcom')->imgSure('article',$id,$d); 
#刪除文章,同時刪除圖片
m('Attachment','xcom')->imgDel('article',$d['id'],true);

調用模型

#調用非事務模型
m(模型名稱, 'c')->方法名稱();
#調用事務模型
s(模型名稱, 'c')->方法名稱();

db函數的使用

#組裝條件搜索
$map = [['and','id','=', 1]];
$w  = where($map);
$rs = $this->db->query("select * from user $w[0]",$w[1]);
#搜索多條
$rs = $this->db->query("select * from user where status=?",[0]);
#搜索單條
$rs = $this->db->query("select * from user where status=?",[0],1);
#插入數據
$data = ['name'=>'張三', 'status'=>0];
$id  = $this->db->insert('user', $data);
#更新數據
$data = ['id'=>1,'name'=>'張三', 'status'=>0];
$this->db->update('user', $data);


#搜索多條,並返回數據庫總條數
$rs = $this->db->query("select * from user where status=?",[0],'',true);

#快捷方法
find, update, select, insert, insertAll #sql快捷方式,使用時注意他們的參數

顯示模板

$this->fetch([鍵值對]);

驗證參數

            $d = $this->post;
            $rule = [
                'title'=>'require',
            ];
            $msg = [
                'title.require'=>'請填寫標題',
            ];
            check($rule,$msg,$d);

post返回函數

if(is_post()){
    suc([鍵值對數據]);#成功返回
    err('錯誤提示語句');#失敗返回
}

注意事項

  • 1,數據庫全部使用 $this->db; 不要使用db()函數否則導致事務失敗
  • 2,controller 一定要驗證表單
  • 3,涉及到圖片的表單一定要使用通用附件模型. Attachment. 否則圖片會被刪除
  • 4, 復用的, 邏輯比較多的, 涉及事務的. 要寫成server

代碼協作使用git

git init
git add remote xxx master
git add .
git commit -m '修改備注'
git pull xxx master
git push xxx master
git branch v2 

具體使用,內部團隊溝通....
xcore® 版權所有 xielisen。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM