Skip to main content

概述

本章节涵盖官方文档中不易了解的 Laravel 内部实现,以及聚焦于包开发的进阶主题。我们将结合源码解读,讲解实用的设计模式与扩展方法。

包开发

Laravel 包开发

从以服务提供者为核心的包开发基础,到发布配置、视图、迁移文件的完整流程。

使用 Orchestra Testbench 测试 Laravel 包

使用 Orchestra Testbench 搭建包的测试环境,验证服务提供者、Facade 与数据库。

使用 Testbench Workbench 进行包开发

搭建接近真实应用的验证环境,构建包含路由、迁移、服务启动的开发流程。

包的版本兼容性管理

应对 Laravel 与 PHP 版本升级的包维护策略,以及 GitHub Actions 测试矩阵配置。

GeneratorCommand — 实现自定义 make: 命令

通过继承 GeneratorCommand 实现包专属的 make: 命令。

框架内部

Laravel 11 之后的应用结构

全面解析 Slim Application Skeleton,以及从 Application::configure() 到 ApplicationBuilder 的内部实现。

Macroable trait

向现有 Laravel 类添加自定义方法的 Macroable trait 的机制与实践模式。

Conditionable trait

when()/unless() 方法的内部实现,以及用于设计流畅 API 的实践模式。

Illuminate\\Support\\Manager — 驱动系统剖析

自 Laravel 4.0 沿用至今的驱动系统核心类。从自定义驱动的注册到 MultipleInstanceManager。

Pipeline 模式

Illuminate\Pipeline\Pipeline 类的原理,以及将多个处理步骤链式组合的模式。

InteractsWithData trait

在包开发中为自定义类实现数据访问 API 的 trait 设计详解。

tap() 辅助函数与 Tappable trait

Laravel tap() 辅助函数与 Tappable trait 的使用方式与实现模式。

PHP 属性

使用 Laravel 13 引入并强化的 PHP 属性,以声明式方式配置 Job 与 Model。

Eloquent 深入

Eloquent 自定义类型转换

实现 CastsAttributes 接口的自定义 Cast。介绍 Value Object 模式、入站 Cast 与 Castables。

Eloquent Observer 与模型事件

Eloquent 模型触发事件的机制,以及通过 Observer 类集中管理事件。

Eloquent 作用域

本地作用域与全局作用域的机制。从 SoftDeletingScope 等内部实现到实用场景。

Collection Deep Dive

从历史、类结构、PHPDoc Generics、阅读路径等多角度解析 Laravel Collection 的实现。

集合的高阶消息

集合的高阶消息(Higher-order Messages)的机制与实用用法。

MCP 与 AI

用 Laravel 构建 MCP 服务器

使用 laravel/mcp 包构建可用于生产环境的 MCP 服务器。涵盖 Tool、Resource、Prompt 的实现以及认证。

创建 AI SDK 的自定义 Provider

阅读 Laravel AI SDK 的源码,为标准未提供的 AI 服务实现自定义 Provider。

创建 Boost 的自定义 Agent

深入 Laravel Boost 的扩展架构,讲解如何创建自定义 Agent。

认证、验证及其他

实现自定义认证 Guard

从源码层面讲解通过实现 Guard、StatefulGuard 接口来创建自定义认证 Guard 的方法。

自定义验证规则

深入内部实现,讲解如何通过规则对象或闭包扩展验证功能。

限流的自定义

深入 RateLimiter Facade,按用户、套餐、IP 地址等实现自定义限流。

使用 Pest 进行进阶测试

系统讲解 Pest 的进阶用法,涵盖 Expectation API、数据集、Fake 与 Mockery。
最終更新日 2026年7月18日