📅  最后修改于: 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文件夹具有用于控制器,中间件和应用程序请求的子文件夹。当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配置,软件包和第三方库)中起主要作用。
应用程序结构中包含的文件如下所示-