thinkadmin
1.最开始接触thinkadmin时一头雾水,官方文档太简洁,所以现在记录部分功能;
1.thinkadmin是一个基于thinkphp和layui的部分开发框架
2.后端,Library/controller在thinkphp基础上进行了一些扩展,集成了一些方法
3.前段,admin.js在layui基础上集成了一套利用标签属性值描述事件的方法;
后端
1. 继承Libary/controller后可以使用,
_query()方法:
参数可以是数据表名,可以是tp的Db::table()后对象
$query = $this->query($this->table);
- like(‘field1,field2…’) :
完成数据搜索功能:对生成query链式操作,根据各个字段将访问数据转化成查询条件whereLike(‘field’,’%inputValue%)
看源码他还有这么个逻辑,如果请求数据键值和数据库字段值不一致,可以将field改成a#b的格式实现映射转化;输入时间格式为laydate默认格式 y-m-d - y-m-d; - dateBetween(‘field1,field2,…’):
将时间格式字段转化为whereBetween(‘field’,‘start,after’)格式的条件;start,after为时间字符串 - timeBetween()
作用同上,差别是start,end是时间戳
_page()方法:
$query->page();
$pagehtml:
用变量$pagehtml
在模板中输出分页条,{$pagehtml|raw|default=''}
,raw的作用是让$pagehtml
原样输出,无需转义;
$list
: page()会自动调用select()获取数据,绑定到list变量从模板输出
三者配合共同完成分页功能;
很坑的一点:_page()无法自主选择模板,只能是放法默认对应的模板。。。
- _page_filter(&$data):
本方法是对page方法list变量进行自定义操作,转换0,1为男,女啥的;
只要controller中有调用page()方法的都会触发它,所以适合共同的处理逻辑 - _xxx_page_filter()
如果在xxx方法中调用page()时,会回调此函数,作用同上
_form($table
,$tpl
)方法:
这个就银杏多了,起码可以自主选择模板呀,两个参数表名、模板名
作用: 接收get请求时,按请求id查询数据,赋值$vo
到模板tpl;
post请求时:如果请求信息包含主键信息则修改,否则为新增;
- _form_filter():
当get请求时会回调,可以用来处理vo - _xxx_form_filter():
方法xxx中调用_form()时回调此方法;
前端
根据jquery和layui设计了一套信息加载、发送等的逻辑,并将这些方法绑定到了集成成各种场景功能绑定到标签属性上;从而实现在html中很少甚至没有js代码也可以完成各种操作的效果,html代码整洁。jquery还是强