当前位置: 首页 > 工具软件 > ThinkAdmin > 使用案例 >

thinkadmin中的一些方法使用

百里业
2023-12-01

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还是强

 类似资料: