PHP基于redis GEO的经纬度计算

  • 冯奎
  • 2021-04-02 19:50:31
  • PHP
  • php
在之前文章中我们介绍了Redis GEO的使用,在这篇文章中,我们基于GEO进行相关位置信息操作。封装成PHP类,便于后期开发使用。本扩展支持添加经纬度,返回添加数量,获取坐标点信息,删除坐标点信息,all删除全部,获取之间距离,获取范围内的坐标点,由近到远升序。
阅读全文

详解PhpSpreadsheet设置单元格

  • 冯奎
  • 2021-03-16 19:04:01
  • PHP
  • php
PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到。 在调试设置时,确保引入了正确的文件并实例化。 ```phpuse PhpOffice\PhpSpreadsheet\Spreadsheet;$spreadsheet = ne
阅读全文

Laragon安装PHP8,相关新特性

  • 冯奎
  • 2021-01-28 19:45:29
  • PHP
  • php
2020特殊的一年,在这一年中爆发了新冠疫情, 但在全国人民的努力下,疫情得到了控制。 2020特殊的一年,在这一年中PHP家族迎来了新成员`PHP8`, 在这篇文章中,我们介绍一下php8的安装,以及相关心特性。 因为本人使用的是 `Laragon` 集成环境,所以介绍其下安装,开启相关扩展,修改php8_module引起的启动失败,介绍PHP8相关新特性...
阅读全文

设计模式的三大类及六大原则

设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
阅读全文

php生成器函数与yield关键字

  • 冯奎
  • 2020-11-12 19:26:46
  • PHP
  • php
初次接触迭代器与生成器是在Python中,之后了解到在 php5.5 中也引入了生成器的特性, 但很多PHP开发者或许都不知道生成器这个功能,可能是因为平时使用场景较少吧。但是,生成器功能的确非常有用。 优点:生成器会对PHP应用的性能有非常大的影响,PHP代码运行时节省大量的内存,比较适合计算大量的数据...
阅读全文

字节跳动小程序支付

  • 冯奎
  • 2020-10-29 20:02:14
  • PHP
  • php
因为业务扩展需求,开发了字节跳动小程序, 记录之下在字节跳动使用支付方法。 因为字节跳动中使用到了,微信及支付宝支付, 建议显示相关支付流程,再进行相关开发。。。 本次使用微信支付获取类为```phpcomposer require yansongda/pay vvv``` 一、在小程序支付之前我们先要获取相关配置审核通过以后就能够在小程序开发者后台
阅读全文

Composer 包的开发与提交

在之前文章中我们介绍了 `composer` 的安装以及使用, 在这篇文章中我们介绍一下如何进行开发 `compsoer` 包, 并发布到 `packagist.org` 上,并进行后续更新。 一、在 GitHub 创建一个名 `demo` 的新仓库,并克隆至本地。```bash$ git clone git@github.com:kuif/demo.git$ cd
阅读全文

百度智能小程序支付(新)

  • 冯奎
  • 2020-10-13 20:24:25
  • PHP
  • php
最近因为项目重构的原因, 对百度支付重新进行了编写封装, 本次重写,添加了对签名的处理、添加用户退款, 方便之后开发的使用。 因为百度电商开放平台的升级, 支付功能已移至智能小程序内部, 具体申请流程:, (注:在支付服务中,服务电话应填写银行预留手机号,如填写错误报【银行预留手机号码格式校验不通过】) 百度支付文档: 一、申请通过后,填
阅读全文

PHP中isset、empty的用法和区别

  • 冯奎
  • 2020-09-02 19:00:09
  • PHP
  • php
在编写程序调用变量时,遇到未定义的变量时,会报错, 这是就需要我们对变量先进行判断,再进行相关操作。 这里主要记录两个变量判断函数的使用:`isset()`与`empty()` 1、isset — 检测变量是否已设置并且非 NULL```phpisset ( mixed $var ) : bool```如果已经使用 unset() 释放了一个变量之后,它将不再
阅读全文

thinkphp-queuer消息队列与superviso进程守护

  • 冯奎
  • 2020-08-25 18:04:57
  • PHP
  • php
传统的程序执行流程一般是 即时|同步|串行的,在某些场景下,会存在并发低,吞吐量低,响应时间长等问题。在大型系统中,一般会引入消息队列的组件,将流程中部分任务抽离出来放入消息队列,并由专门的消费者作针对性的处理,从而降低系统耦合度,提高系统性能和可用性。。。
阅读全文