更新依赖、添加规则

This commit is contained in:
李琦
2026-08-10 14:42:21 +08:00
parent 04d755b115
commit d0018a0173
2 changed files with 13 additions and 4 deletions

View File

@@ -1,8 +1,16 @@
---
description: nl-admin 后端Laravel + 自动路由)代码规范
description: nl-admin 后端Laravel 13 + PHP 8.3 + 自动路由)代码规范
alwaysApply: true
---
# 技术栈基线(升级后必守)
- **Laravel 13**`composer.json``laravel/framework: ^13.0`
- **PHP ≥ 8.3**Laravel 13 官方最低要求;禁止按 8.2 写法或回退依赖)
- 应用启动走 `bootstrap/app.php` 的 fluent API`withRouting` / `withMiddleware` / `withExceptions`**不要**再按旧版 `Http/Kernel` 拆分中间件与异常
- 代码风格优先 `laravel/pint`;测试栈为 PHPUnit 12
- Laravel 13 的 PHP Attribute如 `#[Middleware]`、`#[Authorize]`、Job 的 `#[Tries]` 等)可用,但本项目的 **HTTP 谓词仍以 PHPDoc `@Method` 为准**`autoRouteRegister` 扫描依赖它)
# 基础规范(所有项目通用)
1. 写代码的时候要补充详细的中文注释(每个方法是干嘛的,为什么要这样写),如果是工作区,则所有项目都适用该规则
@@ -38,7 +46,7 @@ alwaysApply: true
- 禁止在 Controller 直接复用业务逻辑,必须抽到 Service
- 禁止在多个 Service 中复制粘贴相同逻辑,必须抽到 `app/Service/common/`
- 若后续引入队列:统一放 `app/Jobs/<域>/`,实现 `ShouldQueue` + `Queueable`,必要时 `->onQueue('xxx')`(当前仓库尚未建 Jobs按需新增
- 若后续引入队列:统一放 `app/Jobs/<域>/`,实现 `ShouldQueue` + `Queueable`;单 Job 可用 `->onQueue('xxx')`,多 Job 默认路由优先用 Laravel 13 的 `Queue::route(Job::class, connection: 'redis', queue: 'xxx')` 集中声明(当前仓库尚未建 Jobs按需新增
## 路由规范(自动注册,禁止手写业务路由)
@@ -64,9 +72,10 @@ alwaysApply: true
## 常量管理
- 枚举值必须用 PHP 8.1 enum 放 `app/Enum/`,禁止在代码中散落魔法数字
- 枚举值必须用 PHP native `enum`PHP 8.3+放 `app/Enum/`,禁止在代码中散落魔法数字
- 状态约定以现有枚举为准:`StatusEnum` / `UserStatusEnum` 为 **0=正常1=禁用/冻结**(不要写成其他项目的 1 启用 0 禁用)
- 新增状态类字段优先复用或扩展 `app/Enum/` 中的枚举
- CSRF / 请求伪造防护中间件类名以 Laravel 13 为准:`PreventRequestForgery`(旧名 `VerifyCsrfToken` 仅为兼容别名,新代码不要再写)
## 命名规范

View File

@@ -6,7 +6,7 @@
"keywords": ["laravel", "framework"],
"license": "MIT",
"require": {
"php": "^8.2",
"php": "^8.3",
"ext-zip": "*",
"firebase/php-jwt": "^7",
"laravel/framework": "^13.0",