约 3 分钟阅读
目录结构 (Directory Structure)
Laravel 拥有极具直观性且可预测的项目架构。无论是中小型独立项目还是大型企业级系统,这一结构都能提供绝佳的维护性。
根目录概览
example-app/
├── app/ # 核心业务逻辑(控制器、模型、服务等)
│ ├── Http/ # 控制器与中间件
│ ├── Models/ # Eloquent ORM 数据模型
│ └── Providers/ # 服务提供者
├── bootstrap/ # 框架引导启动文件及缓存
│ └── app.php # 核心应用配置与中间件注册
├── config/ # 所有核心模块的全局配置文件
├── database/ # 数据库迁移、数据填充和工厂模型
│ ├── factories/
│ ├── migrations/
│ └── seeders/
├── public/ # Web 根目录(包含 index.php 及静态资源)
├── resources/ # 视图模板 (Blade)、前端源码 (Vue/React/CSS/JS)
├── routes/ # 路由定义 (web.php, api.php, console.php)
├── storage/ # 编译文件、日志、缓存与用户上传文件
├── tests/ # 单元测试与功能集成测试 (Pest / PHPUnit)
├── .env # 本地环境变量
├── composer.json # PHP 依赖包清单
├── package.json # Node 前端依赖包清单
└── vite.config.js # Vite 构建工具配置
核心目录详解
app 目录
应用的核心业务逻辑所在。在此目录中你可以找到控制器(Controllers)、数据模型(Models)、中间件(Middleware)、事件(Events)和任务(Jobs)。
bootstrap/app.php
从 Laravel 11/12 起,框架采用了精简现代的单入口配置模式。路由注册、中间件堆栈、全局异常捕获均可在 bootstrap/app.php 中通过链式调用一目了然地定义。
routes 目录
routes/web.php:定义 Web 界面的路由,默认包含 Session 状态与 CSRF 保护中间件。routes/api.php:定义无状态 RESTful API 路由(可通过php artisan install:api启用)。routes/console.php:定义基于闭包的 Artisan 命令行工具。