<!-- 布局 -->
<df-html>
</df-html>
<df-header>
</df-header>
<df-body>
</df-body>
<df-footer>
</df-footer>
<df-html/>
<df-header/>
<df-body/>
<df-footer/>
<!-- 遍历数组,来循环显示多条数据 -->
<df-each >
<df-val value="name"/>
{::name}
</df-each>
<df-each-cache >
<df-val-cache value="name"/>
{:::name}
</df-each-cache>
<!-- 条件语句-->
<df-if ==1>
<df-elif ==2>
<df-else>
</df-if>
<!-- 执行php代码 -->
<df-code>
</df-code>
<!-- 打印参数 -->
<df-print value="CREATE TABLE `test` " />
{:CREATE TABLE `test` }
CREATE TABLE `test`
<!-- js防止格式化 -->
/*code
code*/
**数据库更新**
```
http://dfphp.dfer.site/admin/login/create_db
```
**引用模型**
```
use areasadminmodel{ConfigModel,LayoutImgModel,ArticleModel,LinkModel,MusicModel,MessageModel,NotepadModel};
```
**查询**
```
<!-- 列表 -->
= MusicModel::select();
= ArticleModel::order('asc')->select();
= NotepadModel::order(['time', 'desc'])->select();
= MusicModel::where(3)->select();
= MusicModel::where(["id" => 3])->select();
<!-- 读取第一条数据,不满足条件则返回空 -->
= ArticleModel::where(3)->find();
<!-- 始终读取第一条数据 -->
= NotepadModel::where(["id" => 3])->first();
<!-- 直接生成dataTable的接口数据 -->
NotepadModel::showPage(str("admin/column/{0}_ss",[NotepadModel::getName()]));
<!-- 读取第一条数据的某个值 -->
= ConfigModel::where(['key' => 'layout'])->value('val');
```
**新增**
```
= ConfigModel::insert(['val'=>123]);
= LinkModel::update();
= LinkModel::where(null)->update();
= LinkModel::where([])->update();
```
**修改**
```
= LinkModel::where(3)->update();
= ConfigModel::where(['key' => 'layout'])->update(['val'=>]);
```
**删除**
```
<!-- 根据id删除 -->
ArticleModel::where(3)->del();
<!-- 根据条件删除 -->
ArticleModel::where(['type'=>3])->del();
<!-- 清空表 -->
ArticleModel::del();
```
- DfPHP
- 轻量级PHP开发框架
- [dfphp.dfer.site](http://dfphp.dfer.site)
- 由于df在做项目的过程中越来越习惯基于tp和vue的前后端分离写法,此框架将不再作为开发的首选方案,将减缓更新频率,仅作为老系统的过渡方案
- 工作QQ:3504725309
- 网站:www.dfer.site
- QQ群:76673820