基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Process 模块在 PHP 中实现多进程(二):进程间通信

在上篇教程中,学院君给大家介绍了通过 Swoole 提供的 Process 模块可以在 PHP 中实现多进程编程,并且实现了一个简单的多进程 TCP 服务器,但是在该示例中,主进程和子进程之间并没有数据交互,如果主进程需要得到子进程的反馈,或者子进程需要接收来自主进程的数据,那么就需要进程间通信了。 好在 Swoole 的 Process 模块可以很好的支持进程间通信,在基于 Proce...

基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Swoole 在 Laravel 中实现异步事件监听及处理

这一篇教程我们直接以 hhxsv5/laravel-s 扩展包为例,演示如何在 Laravel 项目中基于 Swoole 实现事件监听。 系统自带事件 首先我们来看一些扩展包自带的系统事件,这些系统事件又可以进一步划分为 Laravel 应用级别的系统事件以及 Swoole 底层 Worker 进程级别的系统事件。 注:在基于 Swoole HTTP 服务器的系统中,Worker 进程...

基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Swoole 在 Laravel 中实现异步任务队列

Swoole 异步任务 实现原理 我们知道,PHP 本身的设计是同步阻塞的,不支持多线程和异步 IO,所以当我们执行一些耗时的操作,比如发送广播,或者邮件,如果直接在当前进程中操作,会导致服务器响应变慢,因此要借助一些第三方服务来处理以实现异步功能,比如队列,而 Swoole 作为 PHP 异步网络通信引擎,自然也对异步任务处理提供了支持,其底层的实现原理和常见的异步队列类似:将耗时任务...

微信小程序开发入门教程(十):组件化框架 WePY 开发入门 —— 博客文章详情页重构

上篇教程学院君介绍了如何通过小程序框架 WePY 重构博客小程序首页,这篇我们接着来重构博客小程序文章详情页,后端 API 接口还是保持不变,主要工作在微信小程序前端页面,首先我们需要在 blog-lite 项目中创建详情页页面。 创建新页面 在 PhpStorm 中打开小程序项目,在 src/pages 目录下创建 post.wpy 用于渲染博客详情页: 然后初始化 post.wpy...

基于 Swoole 构建高性能 Laravel 应用系列 —— Swoole 安装与入门

Swoole 概述 Swoole 是面向生产环境的 PHP 异步网络通信引擎。使用纯 C 语言编写(Swoole 4 开始逐渐改为通过 C++ 编写),提供了 PHP 语言的异步多线程服务器、异步 TCP/UDP 网络客户端、异步 MySQL、异步 Redis、数据库连接池、AsyncTask、消息队列、毫秒定时器、异步文件读写、异步 DNS 查询。除了异步 IO 的支持之外,Swool...

微信小程序开发入门教程(五):原生框架开发入门 —— 博客首页文章列表实现(下)

在上一篇教程中,我们通过测试数据渲染了小程序首页的文章列表,这一篇教程我们将通过访问后端 API 接口来获取文章数据,以便实现首页文章渲染、刷新和翻页操作。 提供后端 API 接口 定义路由 首先,我们需要在博客项目 blog57 的 routes/api.php 中定义一个 API 路由: Route::middleware('throttle:60,1')->prefix('v...

基于 Laravel 5.7 开发博客应用系列(八) —— 博客前台联系我们 & 邮件发送功能实现

本节我们将会添加联系我们功能到博客应用,要实现该功能我们需要了解 Laravel 的邮件发送功能以及队列处理机制。 1、邮件发送设置 为了使用 Laravel 的邮件发送功能,首先需要配置邮件发送,配置很简单,打开 .env 文件,查看邮件配置部分: MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERN...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 应用 —— 结合 Bootstrap + Vue 组件实现异步分页功能

通过前面的系列教程,我们已经介绍完了 Laravel 框架支持的所有对数据库相关基础功能。在日常开发中,对数据库查询结果进行分页也是一个非常常见的需求,我们可以基于之前介绍的查询方法和前端 HTML 视图实现分页功能,不过从 Laravel 5.3 开始,Laravel 框架就已经为我们提供了非常完整的分页解决方案,包括后端 API 和前端视图。不管你使用查询构建器还是 Eloquent...

[ Laravel 从入门到精通 ] 处理用户请求:基于 Laravel + Vue 组件实现文件异步上传

我们在上一篇教程中已经演示了如何通过 Request 请求实例获取各种文本输入数据,但是还有一种输入数据我们没有涉及到,那就是文件上传。我们可以通过 Request 请求实例提供的 file 方法获取用户上传文件,并将其保存到指定目录从而完成文件上传,接下来,我们将从前端到后端实现一个完整的用户上传文件功能,包括视图、路由、控制器部分代码。 定义文件上传路由 首先我们在 routes/w...