
PHP
BigChen_up
这个作者很懒,什么都没留下…
展开
-
laravel 读写分离&跨库查询(链接双库)
随着项目用户量、访问量的增长,对数据库进行读写分离可以有效的提升应用整体性能(目前维护的项目用户量8000W左右,每日活跃用户在500W左右,当然不只是使用读写分离来优化的,不过读写分离的优化也是比较关键的)...原创 2022-08-05 17:19:14 · 1130 阅读 · 1 评论 -
laravel 事件监听
Laravel 的事件提供了一个简单的观察者实现,允许你在应用中订阅和监听各种发生的事件。事件类通常放在 app/Events 目录下,而这些事件类的监听器则放在 app/Listeners 目录下原创 2022-08-05 16:57:52 · 1096 阅读 · 0 评论 -
laravel查询作用域
比如此项目多数表有共同字段,如店铺id,这时可以再baseModel里边定义一个店铺id的查询作用域,其他开发人员可以直接使用作用域,就不需要再使用where进行指定字段查询了。定义查询作用域有利于定位追踪代码,比如项目逻辑比较大比较复杂,使用此model的地方会有很多,而且项目更新迭代速度比较快,使用作用域有利于代码的复用简洁,多人开发有利于定位。......原创 2022-08-05 16:50:32 · 270 阅读 · 0 评论 -
laravel存在修改,不存在新增数据(支持批量操作)
场景:两张表,1会员卡主表,2,会员卡商品表,修改会员卡主表如果商品新增或者修改了,需要更新或者新增数据:使用:会员卡主表模型多对多关联副表主表model: //数据表名称 protected $table = 'saas_member_card'; /** * 指示是否自动维护时间戳 * * @var bool */ public $timestamps = false; /** * 多对多 批量修改新原创 2021-11-10 14:15:20 · 1783 阅读 · 0 评论 -
抖音内容安全检测接口
检测一段文本是否包含违法违规内容官方文档地址:官方文档直接上代码流程:控制器代码: $zijie = new Zijie(); //检测回复内容 是否合规 $content = $zijie->contentTesting($content); if ($content == false) { return $this->error('评论内容包含敏感信息,请修改',[],401);原创 2021-07-16 11:57:27 · 1647 阅读 · 0 评论 -
thinkphp5模板赋值数组在js中如何使用
记录一下:需要在赋值的时候转为json形式$this->assign('class_list',json_encode($class_list));在js中直接使用就可以了$.each({$class_list},function(index,value){ console.log(value) });原创 2021-02-07 15:20:05 · 1349 阅读 · 0 评论 -
PHP去除字符串中所有空格(包括制表符等)
使用preg_replace将删除所有空白(包括制表符等)$string = ' user na me '$string = preg_replace('/\s+/', '', $string);echo $string; // username原创 2020-05-18 15:26:02 · 879 阅读 · 0 评论 -
获取带参数的微信小程序二维码-以及修改二维码LOGO源码分享
具体使用到的方法,建议先看代码再从目录中找相应的方法获取二维码方法:Applet()类:http请求方法:剪切上传的logo图片为圆形在二维码中间区域镶嵌图片:逻辑分析:1.首先准备小程序的APPID和SECRET,可在微信公众号中获取。以及准备好想要带进二维码里边的参数2.logo上传:接受到上传的logo图片,先把图片画成圆形,然后获取到二维码后,把logo图片镶嵌到二维码上。具体看代...原创 2020-03-13 11:23:36 · 1571 阅读 · 0 评论 -
PhpStrom代码格式化设置
代码格式化快捷键: CTRL+ALT+L 变量按照等号 = 对齐数组键值对按 => 对齐格式化代码设置:点击File/Settings进入设置页面:设置Code Style 实现数组内键值对对齐勾选:Editor/Code Style/PHP/Wrapping and Braces / Align key-value pairs勾选前:勾选后设置Code Style ...原创 2019-12-30 16:04:31 · 988 阅读 · 0 评论 -
PHP封装一个文件上传类(支持单文件多文件上传)
class Upload { //添加一个智能操作: 可以自动判断当前是多文件还是单文件, 来自动选择正确的方法进行处理 public static function save($dir) { if (!file_exists($dir)) { // a/b/c 中间目录不存在,会自动创建! mkdir($dir, ...原创 2019-12-22 09:51:42 · 442 阅读 · 0 评论 -
正则匹配邮箱
//邮箱验证:/**目标满足的验证逻辑:@之前必须有内容且只能是字母(大小写)、数字、下划线(_)、减号(-)、点(.)@和最后一个.之间必须有内容且只能是字母(大小写)、数字、点(.)、减号(-),且两个点不能挨着@最后一个.之后必须有内容且内容只能是字母(大小写)、数字且长度为大于等于2个字节,小于等于6个字节`不满足校验逻辑:441030517@QQ…com119...原创 2019-12-22 09:49:27 · 1272 阅读 · 0 评论 -
正则匹配手机号
/** * 正则:手机号(精确) * 移动:134、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198 *联通:130、131、132、145、155、156、175、176、185、186、166 * 电信:133、 173、177、180、181、189、199 * 虚拟运营商:170...原创 2019-12-22 09:48:02 · 625 阅读 · 0 评论 -
php单例模式详解
单例模式: 可以阻止用户多次实例化操作, 只能实例化一次!也叫做单一实例不允许用户自己实例化: 保护构造方法 new提供一个静态方法, 可以生成单一实例不允许用户 clone操作. 保护__clone方法即可静态属性, 用于保存单一实例单例模式3私1公原则:私有的 构造私有的 clone私有的 静态属性公开的 静态方法下面以数据库类为例:class DB{ ...原创 2019-12-21 10:00:41 · 201 阅读 · 0 评论 -
PHP使用递归和非递归方式实现创建多级文件夹
项目需求:要求写一个函数创建 AA/BB/CC/DD 文件夹; 代码实现如下:function makeDir($dir) { // 先判断上级目录是否存在,如果不存在,就创建上一级目录 $prev = dirname($dir); if (!file_exists($prev)) { // 创建上一级目录 makeDir($prev); } // 上一级目录创建成功了,...原创 2019-12-18 10:21:30 · 243 阅读 · 0 评论 -
Thinkphp5清除runtime下的cache缓存,temp缓存,log缓存
主要使用的php函数有:array_map ( callback , array1 ,array… )array_map --为数组的每个元素应用回掉函数参数1:回掉函数,应用到每个数组里的每个元素参数2:数组,便利运行参数1设置的函数返回数组,包含回掉函数处理之后 array1 的所有元素。glob(pattern,flags)glob — 寻找与模式匹配的文件路径参数...原创 2019-11-16 16:05:43 · 2527 阅读 · 0 评论 -
ThinkPHP 5.0 模型关联详解
相信很多小伙伴在刚开始学习thinkphp5.0的时候看不太懂模型关联里边的参数什么意思,下面就详细介绍一下:一对一关联:hasOne(‘关联模型名’,‘外键名’,‘主键名’,[‘模型别名定义’],‘join类型’);可以看到一对一关联 hasOne里有很多参数,但最重要的就是前三个参数。第一个参数 ‘关联模型名’ ,tp5手册是这样说的:‘一个用户都有一个个人资料’。详细点说就是,你...原创 2019-10-23 15:48:00 · 1016 阅读 · 0 评论 -
实战剖析:app扫码登陆实现原理(app+网页端详细逻辑)附源码
记录一下最近在做的一个app扫码登陆的功能。文章最底下附app以及网页端具体逻辑思维图具体思路如下:1.后台生成一个唯一值,附加到二维码上,返回给前端页面,这个唯一值保存到数据库里一份,用来后续的比对。(生成二维码的方法有很多种,网上很多这里就不过多的介绍了,后边有代码)。2.前端AJAX轮询请求二维码的状态,判断是否已扫、确认登陆、取消登陆、超时等信息。3.APP扫码,用户使用APP...原创 2019-10-09 14:19:05 · 5411 阅读 · 0 评论 -
ThinkPHP5多语言切换项目实战
ThinkPHP5多语言切换实战1.在配置文件中开启多语言配置2.然后添加多语言目录这里创建你需要的语言包在语言包里定义需要翻译的文本,中英文数组的键名写成一致然后在html文件里输入 {:lang(‘键名’)} 对应的键名。就是下图的写法。上边都做完以后就可以开始撸代码了:首先在前端写一个切换语言的AJAX请求PHP文件<div class="language" h...原创 2019-08-11 17:56:27 · 2750 阅读 · 7 评论 -
php文件锁
浅谈近期对PHP的 flock()文件锁函数的理解组塞模式:如果其他进程已经加锁文件,那么当前进程会一直等其他进程解锁文件后继续执行。<?php$fp = fopen("/lock.txt", "r+");if (flock($fp, LOCK_EX)) { // 进行排它型锁定 fwrite($fp, "这里写点东西\n"); flock($fp, LOC...原创 2019-08-24 13:53:18 · 196 阅读 · 0 评论 -
关于thinkphp5 使用模型save()更新数据提示 method not exist:think\db\Query-> 报错解决方案
**模型的新增和更新方法都是save方法,系统有一套默认的规则来识别当前的数据需要更新还是新增。 实例化模型后调用save方法表示新增; 查询数据后调用save方法表示更新; save方法传入更新条件后表示更新; 如果你的数据操作比较复杂,可以显式的指定当前调用save方法是新增操作还是更新操作。如果你想使用TP5里边的save() 方法进行更新数据,如果按照一般情况使用where()判断更新...原创 2019-07-27 17:37:36 · 47943 阅读 · 8 评论 -
百度AI模板 获取知识理解
<?phpnamespace app\index\controller;use think\Controller;class Index extends Controller{ // 搜索 public function so() { if (request()->isPost() && request()-...原创 2019-07-12 17:54:56 · 315 阅读 · 2 评论