XinAdmin 后端采用 PHP 8.2 + Laravel 12 框架开发,遵循 MVC 设计模式并扩展为 Controller-Service-Repository 三层架构。系统具备现代化的注解路由系统、完善的认证机制以及灵活的数据操作层。
三层架构: Controller-Service-Repository 模式,职责分离明确
注解路由: 类似 Spring 风格的注解路由系统 (AnnoRoute),简化路由定义
认证系统: 基于 Laravel Sanctum 的 Token 认证,支持双用户提供者
数据操作: 统一的 Repository 模式,提供标准化的数据访问接口
自动验证: 内置表单验证和业务逻辑验证
典型的后端功能开发流程如下:
接下来我们将详细介绍每个开发环节的具体实现。
数据库迁移 (Migration) 是 Laravel 提供的一种管理数据库结构变更的工具,它允许开发者使用 PHP 代码来定义数据库表结构,而不是直接执行 SQL 语句。迁移文件通常存储在 database/migrations/ 目录下。
使用 Artisan 命令创建迁移文件:
以下是一个典型的迁移文件示例:
在生产环境中执行迁移前,请务必备份数据库,避免数据丢失。
Laravel 的 Eloquent ORM 提供了一个美观、简洁的 ActiveRecord 实现,让开发者可以用最少的代码与数据库进行交互。模型文件通常存储在 app/Models/ 目录下。
以下是一个基于上面迁移创建的 Article 模型示例:
XinAdmin 采用 Repository 模式来抽象数据访问逻辑,实现了标准的 CRUD 操作接口。Repository 位于 app/Repositories/ 目录下,继承自 BaseRepository。
以下是一个 ArticleRepository 的实现示例:
XinAdmin 使用自定义的注解路由系统 (AnnoRoute) 来定义 API 接口,这种设计类似于 Spring Boot 的注解路由风格,使路由定义更加直观和便捷。
以下是一个 ArticleController 的实现示例: