基于 Laravel + Swoole + Vue 搭建实时在线聊天室(一):环境准备篇

项目概述 今天开始,学院君将带领大家基于 Swoole 搞个「大项目」 —— 开发在线聊天室,当然还是在 Laravel 框架中,前端 UI 还是基于 Vue 组件实现,本项目主要涉及以下技术: 基于 Laradock 本地开发环境进行演示和测试 后端基于 Laravel 5.8 + LaravelS 扩展包引入对 Swoole 的支持 基于 Swoole 提供的 WebSocket ...

使用 Firewall 扩展包全面保护 Laravel 应用免受恶意攻击

功能简介 Firewall 扩展包是专门为 Laravel 应用打造的 Web 应用防火墙(WAF),该扩展包可用于保护 Laravel 应用免受不同类型的攻击,比如常见的 XSS(跨站脚本攻击)、SQLi(SQL 注入攻击)、RFI(远程文件包含攻击)、LFI(本地文件包含攻击)、User Agent(用户代理注入攻击)等,此外,它还能够屏蔽重复的攻击并且在攻击到来时发送邮件/Slac...

通过 Livewire 在 Laravel 项目中实现基于 PHP 的全栈开发(三):数据绑定及底层实现

上篇教程我们介绍了 Livewire 组件创建和渲染的底层实现逻辑,这篇教程我们来演示下数据绑定的使用示例。和 Vue 组件类似,数据绑定的作用主要是在不刷新页面的情况下实现视图中某些区块数据的动态更新,而且这个绑定是双向的:后端数据修改后可以即时渲染到视图模板,在视图模板中修改数据后也可以将其更新到后端绑定变量。 双向绑定 通过上篇教程的分析我们已经知道,Livewire 组件的数据绑...

Laravel 6.0 将新增为指定队列任务设置中间件的功能

Taylor Otwell 在 Laravel 6 中新增了为指定队列任务设置中间件的能力,以便我们在执行某些队列任务之前先执行一些业务逻辑: This [pull request] adds an easy way to have job specific middleware for queued jobs. Global job middleware were actually ...

通过 Livewire 在 Laravel 项目中实现基于 PHP 的全栈开发(二):组件创建和渲染的底层实现

前言 昨天在发布完 Livewire 入门教程后,分享到 v2ex 和朋友圈引来各种评论,大多数人持有的态度都是「这玩意没啥用」,我想这部分人大多是已经非常熟悉Laravel + Vue/React 进行前后端开发了,而目前无论就性能和先天基因来说,Livewire 确实都是不如原生 Vue/React 组件的,就像 Weex、React Native 一直致力于通过 JavaScrip...

通过 Livewire 在 Laravel 项目中实现基于 PHP 的全栈开发(一):快速上手篇

Livewire 简介 现如今的 JavaScript 有些疯狂,各种框架和工具层出不穷,有种「山中方一日,世上一千年」的感觉,有的时候,即使是很简单的功能,比如弹出模态框或者对前端交互做一些微调,我们也不得不引入大量的代码(比如安装一个 NPM 包),这无疑提高了应用的复杂性,也让项目代码库显得臃肿不堪,而且有的时候真的有点杀鸡焉用牛刀。 其实我们大可不必如此。 因为有了 Livewi...

基于 Laravel + Swoole + Vue 组件实现支持高并发的实时弹幕功能(下)

我们接着上篇教程来完成弹幕服务端以及客户端与服务端交互的开发,首先来实现服务端 WebSocket 服务器的编码。 WebSocket 服务器 我们参照之前的功能介绍教程《在 Laravel 中集成 Swoole 实现 WebSocket 服务器》实现这个用于弹幕功能的 WebSocket 服务器。 注:如果你还没有在 Laravel 项目中安装配置 LaravelS 扩展包,参考这篇...

SMProxy 1.2.9 发布 ! 新增状态命令监控面板功能

Swoole MySQL Proxy 一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。 原理 将数据库连接作为对象存储在内存中,当用户需要访问数据库时,首次会建立连接,后面并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。 使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。 同...

基于 Laravel + Swoole + Vue 组件实现支持高并发的实时弹幕功能(上)

前面我们已经介绍完了 Swoole 的所有功能特性以及集成到 Laravel 框架的注意事项,接下来学院君带大家来做一些实践小项目练练手,在实践篇里,我们将完成两个项目,一个是简单的弹幕功能,一个是在线聊天室,首先我们来实现弹幕功能。 弹幕服务后端实现 随着哔哩哔哩之类的弹幕视频网站和在线直播视频的兴起,弹幕功能越来越常见,所谓弹幕其实就是视频界面上满天飞评论,就像下面这种: 这样一来...