基于 Swoole 构建高性能 Laravel 应用系列 —— 在 Laravel 中集成 Swoole 实现 WebSocket 服务器

在上篇教程中,我们基于 Swoole 实现了简单的 WebSocket 服务器,然后在客户端通过 JavaScript 实现了 WebSocket 客户端,并演示了 WebSocket 的握手和通信过程,今天,学院君将基于 LaravelS 扩展包把 Swoole 集成到 Laravel 项目来实现 WebSocket 服务器,以便于客户端进行 WebSocket 通信从而实现广播功能。...

使用 Dingo API 扩展包快速构建 Laravel RESTful API(八)—— API 认证实现(上)

概述 有些 API 接口需要用户认证之后才能返回响应,有些 API 接口则会根据用户认证与否返回不同的响应数据,Dingo 扩展包支持多个不同的认证驱动,在 Dingo API 中启用认证后,当我们尝试对请求进行认证时就会执行对应的驱动逻辑。下面是 Dingo 开箱支持的认证驱动: HTTP 基本认证(Basic) JSON Web Tokens(JWT) OAuth 2.0(OAut...

[ Laravel从入门到精通 ] 编写 JSON API —— RESTful 风格 API 设计原则与最佳实践

概述 在移动互联网时代,Laravel 开发者日常接触最多的任务应该就是编写 JSON API 接口,基于 RESTful 风格或类 RESTful 风格,以便允许第三方应用/客户端应用与后台应用通过这些 API 接口进行交互。 在 Laravel 项目中实现 JSON API 非常简单,框架底层为此做了大量的工作,提供了大量相关的方法、与之相关的资源控制器、以及 API 资源类、API...

[ Laravel从入门到精通 ] 测试系列 —— 通过测试驱动开发构建待办任务项目(一):后端接口和功能测试篇

本来打算写一篇通过 Laravel Dusk 测试前端 Vue 组件的教程,转念一想不如玩把大的,直接基于 Laravel + Vue 构建一个前后端分离的待办任务列表项目,然后在开发过程中通过功能测试用例测试后端 API 接口,通过浏览器测试用例测试前端 Vue 组件与后端的交互,同时引入数据库测试对增删改查进行测试,从而完成一个简单的、相对完整的测试驱动开发项目。 构建应用 创建新项...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:HTTP 测试篇(下)

我们继续在上一篇教程的基础上演示如何编写 HTTP 功能测试用例。 测试用户认证 Session 除了用于存储一次性验证错误信息和用户会话状态外,最主要的用途就是维护用户认证的状态,在 Laravel 中,可以通过框架提供的一系列断言方法对用户认证状态进行测试。 我们基于 Laravel 框架提供的认证脚手架中的路由进行测试,如果你还没有在测试项目中生成认证脚手架代码,运行如下 Arti...

[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 PHPUnit 进行代码测试:HTTP 测试篇(上)

底层实现 上一篇教程我们介绍了在 Laravel 框架中如何基于 PHPUnit 编写单元测试,其实单元测试基本上使用的都是 PHPUnit 框架提供的原生方法,今天我们来看下 Laravel 如何基于 PHPUnit 实现 HTTP 功能测试。 Laravel 框架开箱为我们提供了一个功能测试用例示例 tests/Feature/ExampleTest.php: <?php n...

[ Laravel 5.8 文档 ] 基础组件 —— 异常处理

简介 Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户。在本文档中我们将深入探讨这个类。 注:关于 Laravel 异常处理底层原理和实现可以参考学院的这篇教程了解更多 —— 《深入探讨 PHP 错误异常处理机制及 Laravel 框架底层的相应实现》 配置 配置文件 config/app.ph...

[ Laravel 5.8 文档 ] 基础组件 —— HTTP 请求

访问请求实例 在控制器中获取当前 HTTP 请求实例,需要在构造函数或方法中对 Illuminate\Http\Request 类进行依赖注入,这样当前请求实例会被服务容器自动注入:...

[ Laravel 5.8 文档 ] 基础组件 —— CSRF 保护

简介 跨站请求伪造(CSRF)是一种通过伪装授权用户的请求来攻击授信网站的恶意漏洞。 Laravel 通过自带的 CSRF 保护中间件让避免应用遭到跨站请求伪造攻击变得简单:Laravel 会自动为每一个被应用管理的有效用户会话生成一个 CSRF “令牌”,然后将该令牌存放在 Session 中,该令牌用于验证授权用户和发起请求者是否是同一个人。 任何时候在 Laravel 应用中定义 ...