首页 技术PHP

PHP

  • PHP 设计模式之策略模式

    在开始之前,我们先看一下一个令人不爽的写法if ($k == 0) {   // do something } else if ($k == 1) {   // do somethings } else if ($k == 2) {   //&nbs...

     薄洪涛  2021-06-09  69浏览  0评论
  • PHP Yii2.0 文件队列的使用

    最近做了一个文件上传+处理的功能,需求是这样的,上传并读取.doc文件,并解析里面的内容入库读取文件并入库是使用python处理的,每个文件大约需要处理5-6秒,上传是使用的Yii2,我这里的思路是把上传和处理的逻辑分离,上传成功之后,增加处理任务到队列中,这里选用的是文件队列,之所以选文件队列的原因是功能简单,而且文件队列不依赖任何第三方第一步,composer下载FileQueuecomposer require --prefer-dist yiisoft/yii2-queue第二...

     薄洪涛  2021-01-28  198浏览  0评论
  • PHP 抢红包的一些实现思路

    最近探索了关于抢红包的一些实现思路,在此记录下本篇文章主要探讨了金额随机算法关于分布式锁的一些探索我们开始,首先说下抢红包的业务流程,分为两步,发红包和抢红包,在抢红包的时候,并发是非常大的,我们这里采用redis作为中间件来实现高并发的抢红包流程关于红包的随机生成算法,我们采用“二倍均值法”来生成随机的红包金额并先存下来此算法的核心思想是根据每次剩余的总金额M和剩余人数N,执行M/N再乘以2的操作得到一个边界值E,然后指定一个从0到E的随机区间,在这个随机区间内将产生一个随机金额R,此时总金额M将更新为M-R,剩...

     薄洪涛  2020-11-08  256浏览  0评论
  • PHP Yii2使用phpOffice导出excel报错

    线上导出excel的时候,是不是出现无法访问,如下图因为导出的数据量比较大,我怀疑是内存溢出,于是增加了内存分配值,发现仍然报错,于是我查了下日志,如下2020-08-14 21:31:12 [192.168.8.12][-][-][error][PhpOffice\PhpSpreadsheet\Calculation\Exception] PhpOffice\PhpSpreadsheet\Calculation\Exception: 2020_08_14!K3314&nbs...

     薄洪涛  2020-08-14  483浏览  1评论
  • PHP Laravel中灵活使用Trait

    这次我们来学的是Trait,说到Trait ,大家的印象可能就是复用一直以来,我对复用的理解就是写一个公共类/文件,通过继承/require 来实现复用,那里需要就哪里继承/ 引用,目的就是少写代码我们先来举个例子,使用继承来复用代码// 首先实现控制器的基类,这里实现公共方法common namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; class BaseCo...

     薄洪涛  2020-08-13  294浏览  0评论
  • PHP php redis Hash操作

    //为user表中的字段赋值。成功返回1,失败返回0。若user表不存在会先创建表再赋值,若字段已存在会覆盖旧值。 $redis->hSet('user', 'name', '222'); //获取user表中指定字段的值。若user表不存在则返回false。 $redis->hGet('user', 'realname'); //查看user表的某个字段是否存在,存在返...

     薄洪涛  2020-04-21  415浏览  0评论
  • PHP php使用curl获取elasticsearch中数据

    我最近在做一个电动车的项目,其中,有一个功能是这样的,我需要获取指定车辆的最新的五条位置信息,位置信息是保存到es库中的,我使用的是Yii2.0框架,本来想使用Yii封装的组件去获取数据的,然后觉得麻烦,就使用了curl调接口的形式开始的时候,我是这么写的function httpPost($server_url, $param) {     $ch = curl_init();    &nb...

     薄洪涛  2020-01-14  425浏览  0评论
  • PHP Elasticsearch按照日期聚合

    我们现在做的是医疗的业务,有个需求是这样的,查询出某位医生前七天的坐诊记录,并且,医生的坐诊记录是不连续的,这样就需要写一个dsl语句来实现es库的搜索首先我使用了es库中的聚合功能,按照日期去聚合,相当于mysql中的group by,查询语句和结果是这样的{ "query": { "match": { "ysdm": "000485" } }, "aggs&qu...

     薄洪涛  2019-12-27  405浏览  0评论
  • PHP YII2场景值的使用

    开发的时候添加和编辑写在了一个方法里面,上传图片添加的时候需要验证为空,编辑的时候不需要,这时候yii的场景值能够解决这个问题:控制器中$model = new NewsForm(); $model->scenario = 'add';//指定场景值模型中//接下来是model的写法 public function rules() {   return [   &n...

     Feng  2019-12-26  359浏览  0评论
  • PHP YII2独立开发遇到的坑

        之前开发的时候,遇到图片上传什么的都是直接用前辈们配好的插件等等,换了家公司以后,要自己独立开发项目,顿时遇到了问题,开始是项目的配置,然后在添加的时候遇到了图片上传的问题,开始我以为post提交表单会直接在控制器中获取提交的文件,然后我一直找为什么post提交的图片会为空,经过一段时间的百度和前辈的指导,终于找到了代码和原因,原来提交文件需要另一个方法把东西给拿出来,现在给大家贴出代码: $file = UploadedFile::getInstance(...

     Feng  2019-12-24  333浏览  0评论
1 2 3 4 5 ››