Laravel 应用程序结构

Laravel 应用程序结构

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

这里显示的快照是 Laravel 的根目录,即 laravel-project ,它包含了各种子文件夹和文件。下面给出了对文件夹和文件的分析,以及它们的功能方面的说明。

Laravel 应用程序结构

应用程序

这是应用程序文件夹,包含了项目的全部源代码。它包含了事件、异常和中间件的声明。应用程序文件夹包括了不同的子文件夹,如下所述−

控制台

控制台包含了Laravel所需的Artisan命令。其中包含一个名为 命令 的目录,其中声明了所有带有适当签名的命令。文件 Kernal.php 调用了在 Inspire.php 中声明的命令。

Laravel 应用程序结构

事件

这个文件夹包含了项目中的所有事件。

Laravel 应用程序结构

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

异常

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

Http

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

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

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

作业

作业 目录维护排队给Laravel应用程序的活动。基类在所有作业之间共享,并为它们提供一个集中放置的位置。

监听器

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

策略

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

提供者

该文件夹包含所有的服务提供者,用于为核心服务器注册事件并配置Laravel应用程序。

引导

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

配置

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

Laravel 应用程序结构

数据库

顾名思义,这个目录包含了数据库功能的各种参数。它包括以下三个子目录:

  • 种子(Seeds) - 这个目录包含用于单元测试数据库的类。

  • 迁移(Migrations) - 这个目录用于数据库迁移的查询,用于Web应用程序中使用的数据库。

  • 工厂(Factories) - 这个目录用于生成大量的数据记录。

公共(Public)

这是根目录,用于初始化Laravel应用程序。它包括以下文件和文件夹:

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

  • javascript和css - 这些文件被认为是资产。

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

资源(Resources)

资源目录包含增强Web应用程序的文件。该目录中包含的子目录及其用途如下所述:

  • 资产(assets) - 资产目录包含用于为Web应用程序设置样式的LESS和SCSS等文件。

  • 语言(lang) - 这个目录包含本地化或内部化的配置。

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

注意,资源目录将被扁平化,而不是有一个资产文件夹。 下面是同样的图片表示。

Laravel 应用程序结构

存储

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

  • app - 这个文件夹包含按顺序调用的文件。

  • framework - 它包含经常调用的会话、缓存和视图。

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

测试

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

供应商

Laravel完全基于Composer依赖,例如安装Laravel设置或包含第三方库等。供应商文件夹包含所有的Composer依赖项。

除了以上提到的文件,Laravel还包含一些在各种功能中起主要作用的其他文件,比如GitHub配置、包和第三方库。

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

Laravel 应用程序结构

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程