跳转到主要内容
约 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 命令行工具。