Laravel 是一个“全栈 Web 应用框架 + 后端工程规范集合”
Laravel 的“标准能力清单”
1/ 路由系统(Routing)
Route::get(‘/users’, [UserController::class, ‘index’]);
标准特性
- RESTful 路由
- 路由分组 / 中间件
- API / Web 路由分离
- 参数绑定(Route Model Binding)
2/ MVC 架构
- Controller:只做请求协调
- Model(Eloquent):业务数据 + 关系
- View(Blade):展示(或纯 API 不用)
📌 Laravel 允许你继续往 Service / Domain 层 拆
3/ ORM(Eloquent)
User::where(‘status’, 1)->with(‘roles’)->get();
标准能力
- ActiveRecord 风格
- 关系定义(1对1 / 1对多 / 多对多)
- 作用域(Scope)
- 软删除
- 事件(creating / saved)
📌 国外更看重 可读性 > SQL 技巧
4/ 数据库迁移 & 种子(Migration & Seeder)
php artisan make:migration create_users_table
- 数据结构版本化
- 可回滚
- 多环境一致
📌 数据库结构是代码的一部分
5/ 表单验证(Validation)
$request->validate([
’email’ => ‘required|email|unique:users’,
]);
- 内置规则
- 自定义规则
- API 错误结构统一
📌 不允许“验证散落在各处”
6/ 认证与授权(Auth & Policy)
认证
- 登录 / 注册
- Token(Sanctum / Passport)
- Session / API 双模式
授权
$this->authorize(‘update’, $post);
- Policy
- Gate
- 角色权限
📌 国外系统非常重权限边界
7/ 中间件(Middleware)
Route::middleware([‘auth’, ‘throttle:60,1’])->group(…)
- 登录校验
- 限流
- 日志
- 跨域
- 多租户识别(SaaS)
📌 你之前的 SaaS 场景,非常适合用 Middleware
8/ 队列 & 异步(Queue / Job)
dispatch(new SendEmailJob($user));
- Redis / SQS / Beanstalkd
- 邮件、通知、AI 请求
- 解耦慢任务
📌 国外默认你不会同步干重活
9/ 事件系统(Event / Listener)
event(new UserRegistered($user));
- 业务解耦
- 扩展性极强
- 审计 / 通知 / 日志
10/ 缓存系统(Cache)
Cache::remember(‘users’, 60, fn() => User::all());
- Redis / Memcached / File
- Tag
- 原子锁
📌 高并发必备
11/ 文件 & 云存储(Filesystem)
- Storage::disk(‘s3’)->put(‘file.txt’, $content);
- 本地 / OSS / S3 无感切换
SaaS 标配
12/ 邮件 & 通知(Mail / Notification)
Mailables
队列发送
多渠道(邮件 / 短信 / Webhook)
13/ 配置 & 环境管理
- .env
- config cache
多环境部署
📌 配置不能写死
14/ 日志 & 错误处理
- Monolog
- 多通道
15/ 统一异常格式(API)
Artisan(命令行)
php artisan make:controller
php artisan queue:work
📌 开发 / 运维 / 自动化核心工具
16/测试体系(国外非常加分)
- PHPUnit
- Feature / Unit Test
- HTTP 测试
- Mock
Laravel 的“隐含标准”
- SR-12 代码规范
- Service 层 / Repository(可选)
- 不在 Controller 写业务
- API 返回统一结构
- 幂等设计
- 软删除优先