|  RSS订阅  |  加入收藏
其实这算是一篇水文,最近有点忙有点累,记得没两天更文的今天一看已经过去一周了,刚好新项目上需要使用Auth来控制权限操作,恰巧ThinkPHP最近官方把5.1更新的有点频繁,从5.1.6一口气接二连三的更新到了5.1.11,导致项目没有框架更新的快,汗,丢人。写这篇水文的缘由是升级框架后,莫名发现之前运行正常的Auth报了个奇怪的...
最近一个项目又牵扯到日期限定的操作,在thinkPHP5下集成My97DatePicker过程中报了一个未定义变量:D的错误。一般性载入没问题,只有在自定义脚本日期上报错。很显然是冲突造成的。问题场景复现。使用My97DatePicker自定义脚本日期,做一个时间段的选择,起始时间为今日起,终止时间为未来某一天。两个日期选择框,对...
对同一表中多个字段的查询,在thinkPHP中使用数组条件进行查询,有三个好处,第一可以批量设置多个查询字段,第二可以设置多个查询条件,第三结构化你的代码,让代码更具可读性。数组条件查询有简单数组查询、数组表达式查询,一般使用$map保存数组条件。简单数组条件查询例如需要查询user表中用户名(username)为“xifengl...
上一篇文章在最后提到“在foreach循环中嵌套查询,这是非常耗费资源的”。当时考虑到本站应用场景简单,查询仅为百位数量级,性能损失忽略不计,就图简单没有深入去重写程序。今天得空,改造了下程序,通过操作数组来达到避开在遍历中使用count查询的目的。先来通过thinkPHP的debug函数来测试下昨天的程序性能。public&nb...
标题场景例如本站右侧标签云,主要的排序依据是tag标签出现的次数。由于数据库设计时,将tag标签独立,并没有作为article文章表的一个字段。通过一个中间关联表(art_tag)来对应文章表(article)和tag表(tags)之间的映射关系。通过查询tags表中的数据,以art_tag表中的映射数量进行排序操作。先来看下三个...
一个简单的应用场景。现在需要在后台对用户产品数据进行搜索,可以对产品名称使用模糊检索,也可以使用产品类别进行分类搜索。因为搜索条件是两个表单项,所以简单了区分搜索条件,增加一个radio字段用来判断用户输入的是什么数据,从而执行不同的sql语句。场景复现假定radio字段为way,产品名称为product_name,产品类别为为t...
有这样一个例子在thinkPHP视图页面执行一个给评论点赞的功能,为了强化用户体验,一般都采用ajax异步请求后台处理点赞数据,成功后页面执行局部更新后的数据即可。前台通常会用到jquery,通过执行jquery的ajax方法更加简单方便的完成任务请求。简单描述下问题出现场景tinkPHP在应用路由后的视图页面执行ajax,并没有...
有这样一个应用场景:当volist循环需要排除前面几个数据的时候,我们通常使用offset来操作。而假设前面要排除的数据是根据当前页面占位符来确定的,而需要排除的数据量就是个变量了。官方手册说明支持输出查询结果中的部分数据,例如输出其中的第5~15条记录{volist name="list" ...
事情变化太快,上线还不到一个月的注册短信验证功能就遇到了平台搬家的尴尬。阿里云发了一个邮件通知。原淘宝短信和阿里云市场短信将迁移到云通信平台,自2018年1月22日期,原平台将被停用,这之前是平台迁移期,需要用户抓紧迁移。也就是阿里云给大家留了一个月的窗口期。具体接入操作,根据阿里提供的demo接入还是很方便快捷的。首先,申请Ac...
话题还得从tinkPHP群消息说起,双十二那天,群内通知官方发布了5.0.13版本。刚好那几天在折腾redis缓存。官方文档中说5.0.13是一个集合诸多改进的版本,redis缓存驱动使用serialize替换了原先的json序列化。而博主的程序初始版本还是在5.0.10的基础上搭建了,后面在博客发布的时候更新到了5.0.11。想...