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应用程序平稳运行所需的各种配置和相关参数.配置文件夹中包含的各种文件如下图所示.文件名按照与它们相关的功能工作.
数据库
顾名思义,此目录包含数据库功能的各种参数.它包括下面给出的三个子目录 :
种子 : 这包含用于单元测试数据库的类.
迁移 : 此文件夹有助于查询迁移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配置,软件包和第三方库.
应用程序结构中包含的文件如下所示;