目录

Laravel - 应用程序结构( Application Structure)

Laravel中的应用程序结构基本上是项目中包含的文件夹,子文件夹和文件的结构。 一旦我们在Laravel中创建了一个项目,我们就可以看到应用程序结构的概述,如图所示。

这里显示的快照是指Laravel的根文件夹,即laravel-project 。 它包括各种子文件夹和文件。 文件夹和文件的分析及其功能方面如下 -

根目录

App

它是应用程序文件夹,包含项目的完整源代码。 它包含事件,异常和中间件声明。 app文件夹包含各种子文件夹,如下所述 -

Console

控制台包含Laravel所需的工匠命令。 它包含一个名为Commands的目录,其中所有命令都使用适当的签名声明。 文件Kernal.php调用Kernal.php声明的命令。

安慰

如果我们需要在Laravel中调用特定命令,那么我们应该在此目录中进行适当的更改。

事件 (Events)

此文件夹包含项目的所有事件。

活动

事件用于触发活动,引发错误或必要的验证,并提供更大的灵活性。 Laravel将所有事件保存在一个目录中。 包含的默认文件是event.php ,其中声明了所有基本事件。

Exceptions

此文件夹包含处理异常所需的所有方法。 它还包含处理所有异常的文件handle.php

Http

Http文件夹包含控制器,中间件和应用程序请求的子文件夹。 当Laravel遵循MVC设计模式时,此文件夹包括为特定目录定义的模型,控制器和视图。

Middleware子文件夹包括中间件机制,包括过滤机制以及响应和请求之间的通信。

Requests子文件夹包含应用程序的所有请求。

Jobs

Jobs目录维护排队等待Laravel应用程序的活动。 基类在所有作业之间共享,并提供了一个中心位置,可以将它们放在一个屋檐下。

听众(Listeners)

监听器依赖于事件,它们包括用于处理事件和异常的方法。 例如,声明的login事件包括LoginListener事件。

Policies

策略是包含授权逻辑的PHP类。 Laravel包含一个在该子文件夹内的策略类中创建所有授权逻辑的功能。

提供商(Providers)

此文件夹包括为核心服务器注册事件和配置Laravel应用程序所需的所有服务提供商。

Bootstrap

该文件夹包含所有应用程序引导脚本。 它包含一个子文件夹,即cache ,其中包含与缓存Web应用程序相关的所有文件。 您还可以找到文件app.php ,它初始化bootstrap所需的脚本。

Config

config文件夹包含Laravel应用程序平稳运行所需的各种配置和相关参数。 配置文件夹中包含的各种文件如下图所示。 文件名根据与其关联的功能工作。

配置文件夹

数据库 (Database)

顾名思义,此目录包含数据库功能的各种参数。 它包括三个子目录,如下所示 -

  • Seeds - 包含用于单元测试数据库的类。

  • Migrations - 此文件夹有助于查询迁移Web应用程序中使用的数据库。

  • Factories - 此文件夹用于生成大量数据记录。

Public

它是有助于初始化Laravel应用程序的根文件夹。 它包括以下文件和文件夹 -

  • .htaccess - 此文件提供服务器配置。

  • javascript and css - 这些文件被视为资产。

  • index.php - 此文件是Web应用程序初始化所必需的。

资源(Resources)

资源目录包含增强Web应用程序的文件。 此目录中包含的子文件夹及其用途说明如下 -

  • assets - assets文件夹包括样式化Web应用程序所需的文件,如LESS和SCSS。

  • lang - 此文件夹包含本地化或内部化的配置。

  • views - 视图是与最终用户交互并在MVC架构中发挥主要作用的HTML文件或模板。

注意资源目录将被展平,而不是具有资产文件夹。 它的图示表示如下 -

资源目录更改

Storage

这是存储Laravel项目运行时经常需要的所有日志和必要文件的文件夹。 此目录中包含的子文件夹及其用途如下 -

  • app - 此文件夹包含连续调用的文件。

  • framework - 它包含频繁调用的会话,缓存和视图。

  • Logs - 在此子文件夹中跟踪所有异常和错误日志。

Tests

所有单元测试用例都包含在此目录中。 命名测试用例类的命名约定是camel_case并根据类的功能遵循约定。

Vendor

Laravel完全基于Composer依赖项,例如安装Laravel安装程序或包含第三方库等.Phowor文件夹包含所有编写器依赖项。

除了上面提到的文件之外,Laravel还包括一些其他文件,这些文件在各种功能中起主要作用,例如GitHub配置,包和第三方库。

申请结构中包含的文件如下所示 -

档
↑回到顶部↑
WIKI教程 @2018