Laravel - 应用程序结构

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

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

根目录

App

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

控制台

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

控制台

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

事件

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

活动

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

例外

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

Http

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

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

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

作业

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

监听器

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

策略

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

提供商

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

Bootstrap

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

配置

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

Config-folder

数据库

顾名思义,此目录包含数据库功能的各种参数.它包括下面给出的三个子目录 :

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

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

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

公共

这是root文件夹,有助于初始化Laravel应用程序.它包括以下文件和文件夹 :

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

  • javascript和css : 这些文件被视为资产.

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

资源

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

  • 资产 去; assets文件夹包含样式化Web应用程序所需的文件,如LESS和SCSS.

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

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

观察资源目录将被展平而不是拥有资产文件夹.
下图和下面显示了相同的图形表示;

资源目录更改

存储

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

  • app 去;此文件夹包含连续调用的文件.

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

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

测试

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

供应商

Laravel完全基于Composer依赖,例如安装Laravel设置或包含第三方库等.Peroror文件夹包含所有作曲家依赖项.

除上述内容外提到的文件,Laravel还包括一些其他文件,它们在各种功能中扮演主要角色,如GitHub配置,软件包和第三方库.

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

Files