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。