📜  Laravel-应用程序结构

📅  最后修改于: 2020-10-23 07:57:02             🧑  作者: Mango


Laravel中的应用程序结构基本上是项目中包含的文件夹,子文件夹和文件的结构。在Laravel中创建项目后,我们将获得应用程序结构的概述,如下图所示。

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

根目录

应用程式

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

安慰

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

安慰

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

大事记

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

大事记

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

例外情况

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

Http

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

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

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

工作

Jobs目录维护为Laravel应用程序排队的活动。基类在所有乔布斯之间共享,并提供了一个中央位置,可将它们放置在一个屋顶下。

听众

侦听器是事件相关的,并且包括用于处理事件和异常的方法。例如,声明的登录事件包括一个LoginListener事件。

政策规定

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

提供者

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

引导程序

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

设定档

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

配置文件夹

数据库

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

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

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

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

上市

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

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

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

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

资源资源

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

  • 资产-资产文件夹包含样式设置Web应用程序所需的文件(如LESS和SCSS)。

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

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

观察到资源目录将被展平,而不是资产文件夹。相同的图片表示如下所示-

资源目录更改

存储

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

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

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

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

测验

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

供应商

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

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

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

档案