Laravel应用程序结构


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

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

根目录

应用

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

安慰

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

安慰

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

活动

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

活动

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

例外

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

HTTP

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

所述 中间件 子文件夹包括中间件机构,包括响应和请求之间的过滤器机构和通信。

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

工作

作业 目录维持排队Laravel应用的活动。基础班级在所有工作中共享,并提供一个中央位置,将他们置于一个屋檐下。

听众

监听器是事件相关的,它们包含用于处理事件和异常的方法。例如,声明的 登录 事件包含一个 LoginListener 事件。

政策

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

供应商

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

引导

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

配置

所述 配置 文件夹包括各种配置和用于Laravel应用的顺利运作所需的相关参数。包含在config文件夹中的各种文件如图所示。文件名按照与它们相关的功能工作。

配置文件夹

数据库

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

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

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

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

上市

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

  • .htaccess - 该文件给出服务器配置。

  • JavaScript和CSS - 这些文件被视为资产。

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

资源

Resources目录包含增强您的Web应用程序的文件。下面解释了此目录中包含的子文件夹及其用途 -

  • 资产 - 资产文件夹包含文件,例如LESS和SCSS,这些文件是Web应用程序样式所需的文件。

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

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

存储

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

  • 应用程序 - 该文件夹包含连续调用的文件。

  • 框架 - 它包含经常被调用的会话,缓存和视图。

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

测试

所有的单元测试用例都包含在这个目录中。命名测试用例类的命名约定是 camel_case, 并按照类的功能遵循约定。

供应商

Laravel完全基于Composer依赖关系,例如安装Laravel安装程序或包含第三方库等。Vendor文件夹包含所有的作曲者依赖关系。

除上述文件外,Laravel还包含一些其他文件,这些文件在各种功能(如GitHub配置,软件包和第三方库)中发挥主要作用。

包含在应用程序结构中的文件如下所示 -

档