
thinkPHP
半碗面
人最重要的是相信自己,我能行。加油吧。小程序开发xmj_Mr
展开
-
拆红包算法 php
本篇文章给大家简析PHP拆红包算法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。逻辑比较简单,传入金额.和拆分的数量。原创 2022-11-06 19:40:01 · 391 阅读 · 0 评论 -
订单24小时未支付,退还库存等信息的做法-- redis的做法
思路:一般是下单的时候,已经减去库存等信息,就在下单的地方,我们把订单id 和 addtime 组合放在redis队列里面,我们读取队列的时候,list 分割下单时间与当前的时间对比,若是超了24小时就操作对应的订单的操作。区别:下单数多的时候,第一种消耗的资源大些,查询速度就慢。第二种,借用Reids优势,执行的速度快,节省了mysql的开销。方法一:没有借用别的技术,就是查询出来未付款的订单,遍历方式是还原库存、优惠券等的问题。方法二:借助redis优势,开始的找到对应的订单,对其操作。原创 2022-11-02 10:52:15 · 586 阅读 · 0 评论 -
tp6.0 创建多个应用
tp6.0 创建多个应用。原创 2022-10-29 22:34:18 · 436 阅读 · 0 评论 -
thinkphp6开启Trace调试模式
在 require-dev 里面加上: "topthink/think-trace":"^1.0"一旦关闭调试模式,发生错误后不会提示具体的错误信息,如果你仍然希望看到具体的错误信息,那么可以在。然后 执行 composer update 进行更新。若是上面已经有了,请忽略上面的步骤。原创 2022-09-05 18:02:46 · 1759 阅读 · 1 评论 -
nginx 屏蔽某些ip,防止有些人刷接口攻击
答:用户访问接口时候,我们代码里面会获取当前访问的ip,记录访问的次数频率等,超过多少次就写进去某个文件里面。怎么抓取对方的ip呢?抓取到了,又怎么写进去nginx去呢?这两个问题,没解决就是不知道怎么处理。上面代码只是获ip,一分钟,访问多少以上才写入这个文件,就根据你们的自己定义了。2、抓取到了,又怎么写进去nginx去呢?答:include 方式引进被禁用的ip。1、怎么抓取对方的ip呢?.........原创 2022-08-31 16:48:43 · 1959 阅读 · 0 评论 -
tp6.0 查询方式是以数据集对象,不能直接使用empty判断,而必须使用数据集对象的isEmpty方法判断
需要注意的是,如果要判断数据集是否为空,不能直接使用。判断,而必须使用数据集对象的。原创 2022-08-26 17:55:23 · 660 阅读 · 0 评论 -
thinkPHP6.0 route路由设置
路由规则的注册必须在应用的路由定义文件中完成。路由定义和检测是针对应用的,因此如果你采用的是多应用模式,每个应用的路由都是完全独立的,并且路由地址不能跨应用(除非采用重定向路由)。route目录下的任何路由定义文件都是有效的,分开多个路由定义文件并没有实际的意义,纯粹出于管理方便而已。默认的路由定义文件是route.php,但你完全可以更改文件名,或者添加多个路由定义文件。├─route 路由定义目录│ ├─route.php 路由定义│ ├─api.php 路由定义│ └─... 更多路由定义。转载 2022-08-25 14:33:53 · 3293 阅读 · 0 评论 -
tp6.0 开启本地调试模式
在本地开发,我们最要开启调试模式,最要减少出现线上之后的错误,也方便我们在开发过程中遇到的问题。一旦关闭调试模式,发生错误后不会提示具体的错误信息,如果你仍然希望看到具体的错误信息,那么可以在。文件,你可以直接更名为。原创 2022-08-23 17:55:17 · 962 阅读 · 0 评论 -
tp6.0 open_basedir报错
查看问题描述以及资料,发现是php open_basedir 配置的问题,PHP不能引入其授权目录上级及其以上的文件;一般情况下是不会出现这种问题的,之所以出现这个问题绝大多数情况是由于服务器的原因,为了安全才做了这样的限制!若是的入口文件切换到public下,则修改下面的文件要去掉 public。原创 2022-08-23 17:22:04 · 863 阅读 · 0 评论 -
think-swoole 坑爹项
报错信息:PHP Fatal error: Uncaught Swoole\Exception: bind(0.0.0.0:80) failed in /work/tp6/vendor/topthink/think-swoole/src/concerns/InteractsWithHttp.php:37。端口是80的时候,启动报错如下。端口为1880,启动成功。原创 2022-08-12 13:40:06 · 870 阅读 · 0 评论 -
json数据被转义,需要htmlspecialchars_decode转义回json格式数据
情景:表里面数据由上面可以看出保存数json的数据的打印查询结构这时可以看出是数据被转义了,htmlspecialchars_decode定义和用法htmlspecialchars_decode()函数把一些预定义的 HTML 实体转换为字符。会被解码的 HTML 实体是:& 解码成 & (和号) " 解码成 " (双引号) ' 解码成 ' (单引号) < 解码成 < (小于) > 解码成 > (大于)htm...原创 2021-09-16 16:57:41 · 920 阅读 · 0 评论 -
PHP二维数组用某个字段的值当做键名
我们一般考虑的是foreach 组装新的数组,但是作为开发来能不要foreach就不要,有现成php函数 尽量用,因为php函数是C语言底层写的,运行快。现在我们看案例吧$array = array( array('id'=>'5','name'=>'tony'), array('id'=>'6','name'=>'jerry'), array('id'=>'24','name'=>'jsam')); $noeArray = array_column原创 2021-02-06 23:36:40 · 1305 阅读 · 0 评论 -
php7安装openssl扩展方法 linux
linux环境与windows,开启的方式不一样的,在windows环境下,打开php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;’, 如果不存在这行,那么添加extension=php_openssl.dll 然后再重启php环境的就好,按照windows方式,在linux上面操作刚才的步骤,发现php.ini中开启了openssl...原创 2020-04-02 22:34:18 · 3092 阅读 · 0 评论 -
常用的打印日志 php
日常调试代码除了打印值之外,还有一种方法就是将内容写入txt文件,这种方式适合在线上调试(因为线上的调试不能暴露debug信息)定义和用法file_put_contents() 函数把一个字符串写入文件中。与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。语法file_put_contents(file,data,mode,context)参...原创 2020-03-31 22:27:09 · 611 阅读 · 0 评论 -
thinkphp5 select对象怎么转数组?
在使用TP5的过程中,我们会发现,使用select方法查询数据库中的数据后print_r出来的结果是对应模型的对象。其中该对象有一个protected的data属性。而在TP3中select出来的结果返回的是一个数组。那么我们在使用TP5中select后得到了对应的结果——一个对象,怎么通过这个对象获取结果数据呢?如图下其实在我们查询 出来后,我们在其后加上转化数组形式就ok了...原创 2019-04-19 14:08:30 · 3411 阅读 · 0 评论 -
thinkPHP5指定查询主库 读取数据
如果你使用了分布式数据库,那么默认情况下查询操作都是在从数据库中进行,如果你在一些特殊的情况下需要从主库读取数据,可以使用:$data = ['foo' => 'bar', 'bar' => 'foo'];Db::table('think_user')->insert($data);Db::name('user')->master()->where('id'...原创 2019-03-21 15:07:39 · 1418 阅读 · 0 评论 -
tp5.0的模板输出
这些都是比较基础的知识,希望能帮到一些小白,少走弯路。视图功能由\think\View类配合视图驱动(模板引擎)类一起完成,目前的内置模板引擎包含PHP原生模板和Think模板引擎。因为新版的控制器可以无需继承任何的基础类,因此在控制器中如何使用视图取决于你怎么定义控制器。如果你的控制器继承了\think\Controller类的话,则无需自己实例化视图类,可以直接调用控制器基础类封装...原创 2019-03-21 11:54:08 · 655 阅读 · 0 评论