网站技术

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

2023-01-14  378
网站技术

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

2023-01-14  609
网站技术

目录 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  450
网站技术

目录 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  503
网站技术

目录 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  453
网站技术

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

2023-01-14  406
网站技术

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

2023-01-14  438
网站技术

目录 前言 成为守护进程的步骤 实现 说明 创建子进程并退出父进程 创建新的会话 重设文件掩码 改变工作目录 关闭标准输入输出 其他 注意事项 前言 写 PHP CLI 程序的老司机们可能经常会写一些常驻进程,比如消息队列消费者进程,这些进程会一直运行,除非要发版,不然一般不会重启的,所以程序程序是不可能由我们通过 ssh 登录到服务器上通过终端来直接启动的(因为一旦断开 ssh 进程就退出了),常见的做法就是用 s

2023-01-14  415
网站技术

目录 业务场景 1、首先部署好thinkphp6框架 2、安装workerman扩展 3、生产者 4、消费者 5、整体测试 业务场景 项目公司是主php做开发的,框架为thinkphp。众所周知,php本身的运行效率存在一定的缺陷,所以如果有一个很复杂很耗时的业务时,必须开发一个常驻内存的程序。首先我想到了php的workerman与swoole,但是这里应上面的标题哈,想将耗时任务交给另一个服务器,同时列队处理。所以这里我想独立部

2023-01-14  489
网站技术

目录 一、代码 1、sql 2、列表页(index.php) 3、delete.php 4、update.php 5、create.php 二、效果图 一、代码 1、sql -- phpMyAdmin SQL Dump -- version 4.5.1 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: 2022-03-19 19:16

2023-01-14  408

zblog模板

牛资源