Laravel 应用程序结构

2025年3月17日 | 阅读 3 分钟

应用程序结构是项目中可用的文件夹、子文件夹和文件的结构。在 Laravel 中创建项目后,生成的应用程序结构如下图所示。

Laravel Application Structure

Laravel 的 app 目录

app 文件夹是 Laravel 中主要的文件夹之一,因为大部分代码都写在 app 文件夹中。 App 文件夹包含以下子文件夹

  • Console
  • 异常
  • Http
  • 提供者
Laravel Application Structure

Console

Console 文件夹包含 Laravel 所需的 artisan 命令。 它包含以适当签名声明的命令。

异常

Exceptions 文件夹包含各种异常处理程序。 它处理 Laravel 项目抛出的异常。 Exceptions 目录包含处理异常的方法。

Exceptions 目录包含处理所有异常的 handle.php 文件。

Http

http 文件夹是 app 文件夹的子文件夹。 它具有诸如 controllers、middleware 和 requests 之类的子文件夹。 Laravel 遵循 MVC 架构,因此 http 包括 controllers、views 和 requests。

其中,

  • Middleware: 它是 http 目录的子文件夹。 它提供了请求和响应之间的过滤机制和通信。
  • Requests: 它是 http 的子文件夹,其中包含应用程序的所有请求。

提供者

Providers 目录用于包含注册核心服务器事件所需的所有服务提供程序,并为 Laravel 应用程序提供配置。

Laravel 的 bootstrap 目录

bootstrap 目录包含引导 Laravel 应用程序和配置自动加载所需的文件。 bootstrap 文件夹包含一个用于缓存 Web 应用程序的子文件夹 cache。 它还包含 app.php 文件,该文件初始化引导所需的脚本。

Laravel Application Structure

上面的屏幕显示了 bootstrap 目录的结构。 它包含一个文件夹,即 cache 和两个文件, app.phpautoload.php

Laravel 的 config 目录

config 目录包含 Laravel 应用程序所需的各种配置文件。 config 目录中提供了各种文件,如下图所示,每个文件都按照其名称执行其功能。

Laravel Application Structure

Laravel 的 Database 目录

database 目录保存数据库文件。 它包含子文件夹 factories, migrations, 和 seeds。 数据库目录的结构如下所示

Laravel Application Structure

database 目录由三个子文件夹组成

  • Factories: factories 文件夹用于生成大量数据记录。
  • Migrations: migrations 文件夹用于迁移 Web 应用程序中的数据库。
  • Seeds: seeds 文件夹包含用于执行单元测试数据库的类。

Laravel 的 Public 目录

public 目录是一个根文件夹,其中包含用于初始化 Laravel Web 应用程序的前端控制器。 以下是 public 目录的子文件夹

  • .htaaccess: 它用于服务器配置。
  • Javascript 和 CSS: 这些文件被认为是 Web 应用程序的主要资源。
  • index.php: 此文件用于初始化 Web 应用程序。

public 目录的结构如下图所示

Laravel Application Structure

Laravel 的 Resource 目录

resource 目录保存用于增强 Web 应用程序的文件。 它包含以下子文件夹

  • Assets: 此文件夹包含用于设置 Web 应用程序样式的 LESS 和 SCSS 等文件。
  • Lang: lang 文件夹为本地化或国际化提供配置。
  • Views: views 文件夹包含用于与最终用户交互的 html 文件,它也在 MVC 架构中起着重要作用。

Resource 目录的结构如下所示

Laravel Application Structure

Laravel 的 Storage 目录

storage 目录包含 Laravel 项目运行时经常需要的文件。 它包含以下文件夹

  • App: 它包含经常调用的文件。
  • Framework: 它包含模板、基于文件的会话和文件缓存。
  • Logs: 此文件夹跟踪异常和错误日志。

storage 目录的结构如下图所示

Laravel Application Structure

Laravel 的 Test 目录

test 目录保存所有自动化的单元测试用例。 测试类的命名约定是 camel_case,但遵循根据类功能的命名约定。

Laravel 的 Vendor 目录

vendor 目录包含 composer 依赖项,例如,要安装 Laravel 设置,需要 composer。 vendor 文件夹包含所有 composer 依赖项。


下一个主题Laravel 基础路由