-----php框架ThinkPHP
一亩地
很多事情是实践创造出来的,而不是计划和分析出来的.
展开
-
thinkphp AOP(面向切面编程)
AOP:在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用原创 2017-11-01 13:12:36 · 1099 阅读 · 0 评论 -
使用addAll批量添加数据的冲突问题?
使用addAll批量添加数据,在插入时提示:“Duplicate entry '106178-1' for key 'itemIdChannel”,该如何解决呢?具体重现情况如下:我有一个字段是唯一索引,使用addAll批量添加数据时,其中有一部分数据已经存在了,就会报冲突的错误,并且后面的数据不会继续添加,有什么办法可以解决吗?我希望是遇到冲突后,不重复的数据继续添加,重复的就跳过!...原创 2018-11-30 16:20:23 · 1383 阅读 · 0 评论 -
thinkPHP 的 selectAdd()方法, 相当于addAll( select() )!
TP在国内相当热门的一个PHP框架,相信大家对TP的普通增删查改所用的select(),add(),save(),delect(),find(),getField()等等内置函数早已烂熟于心了。 今天,就向大家介绍一种TP手册中未提及,但却一直存在于源码当中的 SelectAdd()方法(3.1,3.2均支持)。这是本人在阅读TP源码的时候的偶然发现,前几天刚好碰到一个用得着的业务逻辑,便尝试使...原创 2018-12-12 19:01:43 · 794 阅读 · 0 评论 -
ThinkPHP模版引擎中<if>标签中的条件condition中,多维数组(大于1维)用点号(.)时,判断不成立!
ThinkPHP模版引擎中<if>标签中的条件condition中,多维数组(大于1维)用点号(.)时,判断不成立!例如:<if condition="$or.sor.type eq 'wo'">我<elseif condition="$or.sor.type eq 'ni'" />你<elseif condition="$or.sor.type ...原创 2018-12-06 18:35:17 · 1536 阅读 · 0 评论 -
thinkphp模板引擎,if语句判断字符的长度!
thinkphp模板引擎,if语句中的condition如何判断字符长度呢?代码如下:<if condition="mb_strlen($vo['titles'],'utf-8') egt 20"> {$vo.titles|msubstr=0,20}...<else/> {$vo.title}</if>特别注意:在conditio...原创 2018-12-11 12:25:39 · 1886 阅读 · 0 评论 -
thinkPHP 的addAll()方法的返回值?
addAll 返回值成功:如果主键是自动增长型,返回值为新增记录Id最大值,否则返回true;发生错误返回 false;原创 2018-12-12 10:12:06 · 1835 阅读 · 0 评论 -
php(thinkphp)插入上万条mysql数据最快的2种方法!
最近项目中,需要php插入上万条记录到MySQL数据表中,下面就根据自己项目的情况,提供2种最快的方法!1、使用thinkphp框架先生成包含所有数据的数组,再使用 addAll() 方法,插入1万条数据仅需3秒钟。示例代码://给所有用户推送系统消息 public function pushSystemMessage(){ if(IS_AJAX){ ...原创 2018-12-12 11:11:54 · 4395 阅读 · 0 评论 -
深入解析thinkPHP中的addAll()方法!
深入解析thinkPHP中的addAll()方法!原因:在做系统消息推送过程中,遇到了一个给上万个用户批量推送系统消息的问题,刚开始想到的是循环插入,但立马给否定了,循环操作数据库开发者的大忌啊,于是查找手册找到数据写入看到批量操作:addAll(),测试成功,以为万事大吉了,但当第二次操作时提示失败,找原因,原来是数据库中已经存在的数据addAll()没有覆盖导致了错误!解决方法:...原创 2018-12-12 11:26:49 · 1627 阅读 · 0 评论 -
上传图片到阿里云OSS和获取上传图片的url的详解 !
OSS对象存储<?php/** * +------------------------------------------------------------------------------ * UserController * +-------------------------------------------------------------------------...原创 2018-12-26 04:13:55 · 13106 阅读 · 1 评论 -
前后端分离、或APP用户登录解决方案——JWT(json web token)生成Token详解!
JWT简介JWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。基于session的登录认证在传统的用户登录认证中,因为http是无状态的,所以都是采用session方式。用户登录成功,服务端会保证一个sessi...原创 2019-01-22 17:40:16 · 3705 阅读 · 5 评论 -
关于thinkphp的U函数index.php显示与隐藏详解?
用thinkphp写的项目多了,有时候会发现U函数有时候输出的url有些情况含有index.php,有些情况没有。<form class="m-t" role="form" action="{:U()}" method="post" onsubmit="return ajax_post(this);"><script type="text/javascript">...原创 2019-08-08 11:37:40 · 1773 阅读 · 0 评论 -
Thinkphp中如何使用原生的MySQL语句(超级有用)?
最近在在Thinkphp中开发项目,想要使用原生的MySQL语句,最后尝试了一下,感觉对应复杂的查询更新操作,特别有帮助!下面就详细介绍下! 1、使用原生mysql核心 $Model = M(); $result = $Model->query($sql);//查询 $Model->execute($sql_ex);//更新修...原创 2018-08-20 13:06:18 · 2708 阅读 · 0 评论 -
php或Thinkphp获取name=data[]类型的表单字段内容!
最近在开发工作中,遇见了一种新的获取提交表单字段的方法,就是用php或Thinkphp获取name=data[]类型的表单字段内容!下面一起来看看吧!1.HTML文件<form method="post" action="www.yimudi.cc/yimudi"><input type="hidden" value="{$info.ymd_id}" name="原创 2018-08-20 10:55:54 · 1011 阅读 · 0 评论 -
thinkphp实现AOP 面向切面编程
在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率原创 2018-01-15 16:12:03 · 1537 阅读 · 0 评论 -
在thinkphp里面执行原生的sql语句
在thinkphp里面执行原生的sql语句怎样在thinkphp里面执行原生的sql语句?$Model = new Model();//或者 $Model = D(); 或者 $Model = M();$sql = "select * from `order`";$voList = $Model->query($sql);只是需要new一个空的模型继承Model中的方法。注意query是查功...原创 2018-05-17 18:51:50 · 716 阅读 · 0 评论 -
thinkphp模板中,<a>标签使用U方法如何传变量参数!
U('地址表达式',['参数'],['伪静态后缀'],['显示域名'])U方法的第三个参数是伪静态后缀,如果你在配置文件中有定义,那么第三个参数就不用写,最后生成的url会自动加上.html如果没有定义,则按需添加'TMPL_TEMPLATE_SUFFIX' => '.html', // 默认模板文件后缀thinkphp模板中,如何在<a>标签使用U方...原创 2018-08-06 09:41:51 · 1801 阅读 · 1 评论 -
thinkphp中如何使用锁的功能,如何使用类似于mysql的for update功能?
Thinkphp的加锁功能,我下面详细说一下: 首先,数据库类型要是InnoDB,其次,加锁必须跟事务同时使用,还有,查询的时候都必须带锁,比如: $user_mod->lock(true)->where(‘id=1’)->select();这个地方用锁查询,其次地方如果查询这个user对象需要防止同时操作的话也要进行加锁,就是也要用lock(true)这种方式查询: 代...原创 2018-08-06 09:52:17 · 3669 阅读 · 1 评论 -
ThinkPHP组装分页字符串
ThinkPHP组装分页字符串后台代码:<?php $condition="查询条件"; $size = 10;//每页多少条记录 $number=$this->cunXiaoNongModel->getCunCount($condition);//获取记录总数 $page = new \Think\Page(...原创 2018-08-06 10:26:34 · 353 阅读 · 0 评论 -
thinkphp如何实现分组获取满足条件的数据?
thinkphp分组获取满足条件的数据:<?php//分组获取满足条件的一亩地ID$cinema_id = $this->getCunIdById($change_num); //cun_use表(cun_id分组),获取要换取的大于该cun_use剩余的数量 private function getCunIdById($change_num){ ...原创 2018-08-06 10:57:16 · 995 阅读 · 0 评论 -
ThinkPHP中vendor()方法导入第三方类库的用法!ThinkPHP 3.2 vendor()方法的深入研究!
ThinkPHP vendor 方法导入第三方类库第三方类库第三方类库指除了 ThinkPHP 框架、应用项目类库之外的其他类库,一般由第三方系统或产品提供,如 Smarty、Zend 等系统的类库等。前面使用自动加载或 import 方法导入的类库,ThinkPHP 约定是以 .class.php 为后缀的,非这类的后缀,需要通过 import 的参数来控制。但对第三类库,由于不...原创 2018-08-06 13:03:23 · 10656 阅读 · 0 评论 -
thinkphp实现发送手机验证码功能!
php实现发送手机验证码功能如下: //发送手机验证码 public function sendPhoneCodeMessage(){ vendor('SendPhoneCode.SendCode','','.php'); $phone = I("post.phone"); $randomNumber=...原创 2018-08-06 13:09:18 · 1297 阅读 · 0 评论 -
Thinkphp数据层(模型层),添删改查操作超详细详解!
Thinkphp数据层(模型层),添删改查操作超详细详解!下面一起来看看!<?php namespace Home\Model;use Think\Model;class YmdModel extends Model{ public function __construct(){ $this->dbYimudi = M('yimudi'); $this->...原创 2018-08-18 11:02:35 · 1927 阅读 · 0 评论 -
Thinkphp上传类的调用及详解(上传图片)!
thinkphp如何上传图片呢?下面就为大家详细介绍下!1、封装上传类方法<?php//调用上传public function uploadUser(){ $banner=$this->uploadYmdImg('ymd_banner'); if(!empty($banner)){ $data['ymd_banner']=$banner; }}...原创 2018-08-20 10:19:51 · 1950 阅读 · 1 评论 -
ThinkPHP提示“ { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THI”,怎么解决?
ThinkPHP3.2.3 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO IT JUST THI,怎么解决呢?原来是页面错误 ,调试模式都没打开!所以在入口文件index.php 添加一行define('APP_DEBUG',true);即可解决问题!...原创 2019-08-08 20:05:55 · 11799 阅读 · 7 评论