分类:PHP

13 篇文章

【PHP】多进程
进程是系统进行资源分配和调度的基本单位,执行一个 php 程序,默认只会生成一个进程,当该进程发生请求 IO 时,就会被挂起,让出 CPU,php 的多进程编程的目的就是要在多个进程并发的执行任务,当其中一些进程由于发生 IO 被挂起时,还有一些进程可以利用 CPU 执行任务,这样就可以充分利用系统资源来完成我们的大批量任务了。 php 多进程开发…
【PHP】记一次in_array的踩坑
先看一下踩坑的代码 var_dump( in_array(0,["s"])); 你觉得上面代码会输出 false ? 当时我也是这么觉得的,然鹅... 事实上输出的是 true 先看一下 in_array 函数的官方说明 in_array ( mixed $needle , array $haystack [, bool $st…
Laravel 学习笔记 —— 优雅的处理异常
laravel 默认的异常显示对用户并不友好。 本文将介绍在 Laravel 项目中应该如何正确地、优雅地处理异常。 我们将异常大致分为 用户异常 和 系统异常,接下来我们将分别对其讲解和代码实现。 1. 用户错误行为触发的异常 比如访问一个被下架的商品时触发的异常,对于此类异常我们需要把触发异常的原因告知用户。 我们把这类异常命名为 Invali…
Laravel 学习笔记 —— 延迟任务
Queue - 队列 Laravel 队列提供了可以跨各种不同队列后台的统一 API,例如 Beanstalk、Amazon SQS、Redis 甚至关系数据库。通过队列,你可以将耗时任务 (如发送电子邮件) 的处理往后推延。延迟这些耗时的任务可以极大地提升 web 请求响应速度。 1. 创建任务 创建关闭订单的延迟任务: php artisan …
laravel 学习笔记 —— 事件
Events - 事件 Laravel 的事件提供了一个简单的观察者实现,允许你在应用中订阅和监听各种发生的事件。事件类通常放在 app/Events 目录下,而这些事件类的监听器则放在 app/Listeners 目录下。 使用场景:支付成功后商品增加销量和发送邮件并不会影响到订单的支付状态,即使这两个操作失败了也不影响我们后续的业务流程,对于此…
Laravel 学习笔记 —— 门面
Facades - 门面 Facades 为应用的服务容器提供了一个『静态』接口。Laravel 自带了很多 Facades,可以访问绝大部分功能。 不需要手动的实例化,也不用注入服务也不用关心服务的依赖等细节。 还是在 route/web。php 演示下 Facades 的使用 · · · use Illuminate\Support\Facad…
Laravel 学习笔记 —— 服务提供者
Service Provider - 服务提供者 一个开发框架在运行的时候,首先要加载它支持的服务,如:路由服务,缓存服务,文件服务等各种服务。 这些服务都是在启动前先去注册和加载,加载完之后才能启动。 如果没有注册的话,应用程序根本就不认识它。 laravel框架就是根据 config/app.php 配置文件创建 app 对象。 其中的 pro…
Laravel 学习笔记 —— 服务容器
Service Container - 服务容器 Service Container 是一个用于管理类依赖以及实现依赖注入的工具。 我们通过 Service Provider 将服务注册到 Service Container 中,注册之后就可以用 app() 函数调用已注册的服务了。 引用官方文档的话就是: Laravel 服务容器是一个用于管理类…
Laravel 学习笔记 —— 生命周期
所有请求必定首先通过 public/index.php。 在上述这个文件中首先加载 composer 自动加载文件,然后从 bootstrap/app.php 实例化一个服务容器。 接下来,框架会根据请求类型传送请求至 app/Http/Kernel.php 或者 app/Console/Kernel.php。 app/Http/Kernel.ph…