网站技术

目录 知识点 问题描述 探索过程 实现思路 最终效果 实现步骤 总结 知识点 微信小程序预览pdf文件 这都是一些实际项目的开发经验,不是东拼西凑的网上水文。如果这篇文章帮到了你,麻烦动动你发财的小手给点个赞,留下个评论。🙏🙏🙏 问题描述 前段时间文库类微信小程序开发中遇到个问题,就是要在小程序中预览阿里云OSS中的pdf文件。微信官方给的方案就一个,就是把文档缓存到本地然后用资源管理器打开。 这样写问题很明显,pdf文件小的话

2023-01-14  310
网站技术

目录 1.get请求 2.post请求 3.随机字符串 4.返回json数据 5.数据过滤 6.重定向 7.获取客户端ip 1.get请求 function get_curl($url, $timeout = 5) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,tru

2023-01-14  271
网站技术

目录 一.抽象类 1.定义 2.应用场景 3.入门代码 4.细节 5. 代码分解 二.接口 1.定义 2. 应用场景 3.入门代码 4.注意细节 三.类和接口之间关系 一.抽象类 1.定义 用abstract 关键字来修饰一个类时,这个类就叫抽象类. 用abstract 关键字来修饰一个方法时,这个方法就是抽象方法. 2.应用场景 在实际开发中,我们可能有这样一种类,是其它类的父类,但是它本身并不

2023-01-14  235
网站技术

在普通的编程中,没有涉及架构或者良好的设计,绝大多数都是使用的面向过程的方式。 当编程逐步深入后,就需要合理使用面向对象的知识来设计程序,而不是简单地脑海里有了思路就去写代码来实现,这是比较低级的做法。 面向对象的三大特点:封装、继承、多态。 封装、继承比较好理解,通过一个例子就能看明白: <?php class VisualObj{ private $Viual=true; protected $width; prot

2023-01-14  239
网站技术

目录 一、前言 二、场景 三、安装RabbitMQ延迟队列插件 四、在Laravel框架中进行使用 五、执行生产消息和消费消息 一、前言 需求:电商秒杀场景中,如果用户下单10分钟未支付,需要进行库存归还 本篇是用PHP+Laravel+RabbitMQ来实现异步延迟消息队列 二、场景 在电商项目中,当我们下单之后,一般需要 20 分钟之内或者 30 分钟之内付款,否则订单就会进入异常处理逻辑中,被取消,那么进入到异常处理逻辑中,

2023-01-14  428
网站技术

目录 1.MySQL扩展 2.mysqli扩展 3.PDO扩展 知识点补充 PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO)。 1.MySQL扩展 PHP 的 MySQL 扩展是设计开发允许 PHP 应用与 MySQL 数据库交互的早期扩展。MySQL 扩展提供了一个面向过程的接口,由于不支持后期MySQL服务端提供的一些特性。且太古老,又不安全,所以已

2023-01-14  277
网站技术

目录 1.Introduction 2.Instantiation 3.Localization 4.Testing Aids() 5.Getters 6.Setters 7.Fluent Setters 8.IsSet 1.Introduction Carbon 是php的日期处理类库(A simple PHP API extension for DateTime.)。 Carbon 继承了PHP的 Datetime 类,所以 C

2023-01-14  331
网站技术

目录 1.String Formatting 2.Common Formats 3.Comparison 4.Addition and Subtraction 5.Difference 6.Difference for Humans 7.Modifiers 8.Constants 9.CarbonInterval 1.String Formatting 所有类似 toXXXString() 这样的方法都依赖于DateTime::fo

2023-01-14  311
网站技术

目录 前言 原理 阻塞信号 处理信号 拼起来 思考 前言 写过 CLI 常驻进程的老司机肯定遇到过这么一个问题:在需要更新程序的时候,我要怎样才能安全关闭老进程?你可能会想到 NGINX、php-fpm 之类的平滑重启是给进程发送 USR2 信号,然后它就会将当前请求处理完再退出。 但进程是怎样接收信号、处理信号,估计就不是很多人能说清楚了。 原理 要实现平滑关闭/重启不难,这里先讲

2023-01-14  269
网站技术

目录 一、雪花算法原理解析 1. 分布式ID常见生成策略 2. 雪花算法的结构 二、PHP源码实现案例 1.demo1 2.demo2 这个算法的好处很简单可以在每秒产生约400W个不同的16位数字ID(10进制) 一、雪花算法原理解析 1. 分布式ID常见生成策略 分布式ID生成策略常见的有如下几种: 数据库自增ID。 UUID生成。 Redis的原子自增方式。 数据库水平拆分,设置初始值和相同的自增步长。 批量申请自

2023-01-14  268