PHP
修复BUG中
这个作者很懒,什么都没留下…
展开
-
Redis进行大批量数据查询,预防内存耗尽处理方案
在最近的需求开发中,有个需求是要拿一批词【每个作品对应的词不同,大概1000个左右】去另一批词进行匹配查询【数据是动态的,更新不频繁,大概有3w个词】,考虑到速度和性能的影响,不能每次查询都走mysql,所以结合Redis进行开发,下面开发及优化的过程:原创 2023-06-13 18:00:49 · 799 阅读 · 0 评论 -
laravel中AppServiceProvider在负载均衡服务中request()->ip()获取不到用户真实IP
在项目中,想根据IP做一些限制访问功能,然后想着在AppServiceProvider中实现,使用request()-ip()获取用户真实IP,因为我们的项目线上是负载均衡的架构,所以在TrustProxies配置了此应用的信任代理.原创 2023-06-10 19:00:00 · 474 阅读 · 0 评论 -
EasyExcel读取大文件超时问题-分块读取
今天遇到反馈说excel读取失败,然后看了下上传的文件中有6w多行数据,导致请求超时和内存溢出问题,然后就去官网看了有没有解决方案,发现了分块读取方法,设置每次读取条目,进行读取,增加接口的请求时长,最终解决了这个问题。原创 2023-05-31 18:35:58 · 711 阅读 · 0 评论 -
Laravel关于请求参数空字符串转null问题
这边刚开始是从网上查找了有没有好一些的解决方法,尽量不为了一个接口删去这个全局中间件,从网上找的解决方法也都是说把这个中间件移出,还有看到withoutMiddleware,但是官网上说不支持作用全局中间件,然后这边就看了下方法的源码,发现主要是transform()方法处理,一看就和上次去空格一样,所以这边就重写了一下这个方法,然后再kernel.php替换下中间件。》去空格很几乎是一样的处理办法。原创 2023-04-07 19:00:00 · 411 阅读 · 0 评论 -
PHP获取微信小程序码并生成分享海报
以前有一篇文章简单介绍了小程序生成分享海报的过程,使用canvas进行海报的生成,最近又遇到关于后端直接生成分享海报,所以简单介绍下获取微信小程序码+生成分享海报原创 2023-03-18 21:30:00 · 714 阅读 · 0 评论 -
easy-excel导出excel中日期列需要双击才能进行筛选
使用easy-excel导出的excel中,给日期那一例设置单元格格式,发现需要双击后才能生效,翻了一些资料说easy-excel程序导出的日期值是文本值,所以需要双击让excel转化一下,这边查了easy-excel的g官方文档,发现导出部分给了一个设置行样式的列子 ,easy-excel是box/spout上封装的扩展,上面给的例子就是box/spout的样例原创 2023-02-23 23:15:00 · 924 阅读 · 0 评论 -
Laravel关于TrimStrings请求参数去空格问题
今天在前端那边说了一个问题就是他们请求某个参数里面字符串前面明明加了空格,但是提交数据保存刷新后,空格又没了,然后这边就开始排查了问题,使用request()->all()获取参数并打印,发现字符串前面并没有空格,接口也没加一些中间件进行额外的处理,但是使用file_get_contents('php://input')获取原始参数发现字符串前面又有空格了,然后搜了一下说是公共中间件TrimStrings自动去除了空格,如果想要不去除字符串两端的空格的话可以将字段加入到\$except,值的话为参数的名称原创 2022-09-07 21:15:00 · 883 阅读 · 0 评论 -
Redis优化之单作品数据缓存
上篇文章有讲解Sphinx进行合并请求优化,将多次请求合并为一次请求,最终处理时间和单词请求时间一样。 大多数我们通过Sphinx都是搜索数据,拿到的应该都是作品ID,然后再通过拿到的ID去数据库进行查询,获取作品的相关信息,这里的话我们就要进行缓存的获取与生成,也就是进行文章的主题,单作品数据缓存,也就是数据的原子性......原创 2022-08-26 23:05:02 · 299 阅读 · 0 评论 -
Dcat-Admin自定义Excel数据导出
dact-admin框架支持导出 csv、 xlsx 和 ods 等格式文件,在控制器内$grid->export()->titles($titles)就引入导出功能原创 2022-06-15 22:45:00 · 2321 阅读 · 0 评论 -
Switchhosts软件安装包
官方下载地址:点击跳转,通过github下载的话,我这边花了差不多一个半小时,然后找CSDN看看有没有分享出来的,一看都是要消耗金币的,所以我将下载过的安装包放在了百度网盘,有需要的通过下面的信息去网盘进行下载。链接:点击跳转提取码:c1mv–来自百度网盘超级会员V4的分享Switchhosts作用大家应该都知道,是一个很好的环境切换工具和hosts文件管理工具:想要修改hosts文件的话就不需要通过一层层的找到hosts文件进行修改,直接通过软件修改就行;在我们开发时,有本地、测试、线上.原创 2022-04-25 09:57:34 · 1426 阅读 · 3 评论 -
Dcat Admin表格规格筛选器默认选中
Dcat Admin框架不支持表格规格筛选器的默认选中,所以这边实现的思路使用过JS实现默认选中,通过获取url中的参数,如果筛选字段不存在则通过js获取相应节点,进行默认选中。<?phpnamespace App\Admin\Controllers;use App\Admin\Repositories\Selector;use App\Common\Enums\CategoryEnum;use Dcat\Admin\Admin;use Dcat\Admin\Grid;clas.原创 2022-03-25 18:37:07 · 2150 阅读 · 0 评论 -
Dcat-Admin自定义列表样式
这边使用Dcat-Admin开发后端,需要自定义表格样式,但是这边又想使用框架自带的分页和筛选功能,这边查看框架的源码,然后按照下面的写法实现了需求<?phpnamespace App\Admin\Controllers;use App\Admin\Repositories\Custom;use App\Common\Enums\CategoryEnum;use Dcat\Admin\Admin;use Dcat\Admin\Grid;class CustomControlle.原创 2022-03-25 18:26:04 · 2694 阅读 · 0 评论 -
Shell命令使用ImageMagic实现PS正片叠底、滤色等效果
以下为支持的部分效果, 想要输出对应的效果需求修改命令中compose后的运算符内容:1、正片叠底-Multiply2、滤色-Screen3、叠加-Overlay4、变暗-Darken5、变亮-Lighten6、颜色减淡-ColorDodge7、颜色加深-ColorBurn8、强光-HardLight9、柔光-SoftLight10、差集-Difference11、排除-Exclusion12、色相-Hue13、饱和度-Saturate14、颜色-Colorize15、亮度-.原创 2022-03-25 18:10:17 · 808 阅读 · 0 评论 -
Yii框架实现伪静态
Yii框架设置网站伪静态的话,其实就是将当前浏览器访问的伪静态地址映射到真实的项目地址,主要操作的话是修改config/main.php文件,下面就介绍下具体操作:// 配置文件<?php$params = array_merge( require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require _原创 2021-11-25 22:02:14 · 1059 阅读 · 0 评论 -
Laravel Mix编译后引入JS提示 (###)is not defined
昨天的文章有讲到laravel项目中使用Mix编译前端资源文件,并监控文件改变追加版本号,在我们编译引入之后,会发现有一些JS文件引入后提示(###)is not defined。这边在Laravel官网Mix部分也没看到解决方法,在网上搜了一些,也没看到有啥解决方案,然后顺着GitHub找到了Mix介绍的文档,其中Copying Files部分提到了copy方法,意思也就是原样拷贝文件内容,但是还是可以给前端文件追加版本号,所以在不影响功能实现的情况下,我们改成了这个方法。mix.copy('reso原创 2021-11-17 22:12:02 · 552 阅读 · 0 评论 -
Laravel Mix编译Css、Js资源文件,并动态改变资源版本号
最近正好遇到一个需求,是前端那边要求我们要能够监控CSS和JS等前端资源文件内容改变,动态的给其添加版本号后缀,以解决浏览器缓存的问题。因为我们的项目后端使用的是Laravel框架,所以就查了laravel框架有没有自带这个功能,翻看了官方文档,看到其提供了Mix这个功能,一下就是laravel框架使用Mix的流程一、Mix安装【详细的安装流程大家可以看下官方文档】1、安装node依赖【在运行 Mix 之前,要先确保您的机器上已经安装了Node和NPM】npm install2、运行Mixnp原创 2021-11-16 22:31:18 · 898 阅读 · 0 评论 -
让CSS3中Transform属性带你一文实现炫酷的转盘抽奖效果
前端时间有个需求是客户端双端APP内嵌入整个转盘抽奖的web子系统,具体是要在后台能够控制大转盘抽奖的奖项数,和用户免费抽奖的次数,并且免费抽奖使用完,用户可以观看广告进行抽奖或使用积分抽奖。正好最近有空,出了这篇教程,解析转盘抽奖的实现过程。此子系统整体开发的话由我负责,其中前端技术:H5+CSS3+JS;后端技术:YII2+Redis。转盘演示视频效果如下所示: 让CSS3中Transform属性带你一文实现炫酷的原创 2021-08-30 18:53:56 · 1621 阅读 · 13 评论 -
PHP判断对象属性是否存在
在开发过程中,总会遇到一些判断某个值是否为空、对象或数组内是否存在某个属性,不做处理的话会报错,平时常用的就是下面这种写法:$arr = [ 'a' => 111, 'b' => 222];// 判断$arr内是否存在c$c = !isset($arr['c']) ? $arr['c'] : 0;// 输出的结果为:0可以使用??简写成下列【??:null 合并运算符】: $arr = [ 'a' => 111, 'b' =>原创 2021-08-18 19:33:29 · 2970 阅读 · 2 评论 -
PHP生成随机字符串
今天要用到32随机的字符串,想在网上找些例子,看了下差不多都是下面第二种写法:一:MD5+时间戳生成32位随机字符串/** * 获取32位随机字符串 * @return string */public static function getRandKey(){ return md5( time() . mt_rand(0, 99999999) );}二:从固定字符串循环随机取其中一位数拼接/** * 获取32位随机字符串 * * @return string */原创 2021-08-10 20:22:21 · 1507 阅读 · 0 评论