laravel 应用程序结构
laravel中的应用程序结构基本上是包含在项目中的文件夹,子文件夹和文件的结构。一旦我们在laravel创建了一个项目,我们就可以在这里看到图中所示的应用程序结构的概述。
这里显示的快照指的是laravel的根文件夹,即 laravel-project 。它包括各种子文件夹和文件。文件夹和文件的分析及其功能方面如下所示
应用
它是应用程序文件夹,包含项目的完整源代码。它包含事件,例外和中间件声明。应用程序文件夹包含各种子文件夹,如下所述 -
安慰
控制台包含laravel必需的工匠命令。它包含一个名为 commands 的目录,其中所有命令都用适当的签名声明。该文件 kernal.php 调用中声明的命令 inspire.php 。
如果我们需要在laravel中调用特定的命令,那么我们应该在这个目录中进行适当的更改。
活动
该文件夹包含项目的所有事件。
事件用于触发活动,引发错误或进行必要的验证,并提供更大的灵活性。laravel将所有事件保存在一个目录下。包含的默认文件是 event.php ,其中声明了所有基本事件。
例外
该文件夹包含处理异常所需的所有方法。它还包含处理所有异常的文件 handle.php 。
http
该 的http 文件夹中有控制器,中间件和应用程序请求的子文件夹。由于laravel遵循mvc设计模式,该文件夹包含为特定目录定义的模型,控制器和视图。
所述 中间件 子文件夹包括中间件机构,包括响应和请求之间的过滤器机构和通信。
该 请求 的子文件夹中包含的应用程序的所有请求。
工作
该 作业 目录维持排队laravel应用的活动。基础班级在所有工作中共享,并提供一个中央位置,将他们置于一个屋檐下。
听众
监听器是事件相关的,它们包含用于处理事件和异常的方法。例如,声明的 登录 事件包含一个 loginlistener 事件。
政策
策略是包含授权逻辑的php类。laravel包含一项功能,可在该子文件夹内的策略类中创建所有授权逻辑。
供应商
该文件夹包括注册核心服务器事件和配置laravel应用程序所需的所有服务提供者。
引导
该文件夹包含所有应用程序引导脚本。它包含一个子文件夹,即缓存,其中包含与缓存web应用程序相关的所有文件。您还可以找到文件 app.php ,它初始化bootstrap所需的脚本。
配置
所述 配置 文件夹包括各种配置和用于laravel应用的顺利运作所需的相关参数。包含在config文件夹中的各种文件如图所示。文件名按照与它们相关的功能工作。
数据库
顾名思义,该目录包含数据库功能的各种参数。它包括三个如下所示的子目录 -
- 种子 - 包含用于单元测试数据库的类。
- 迁移 - 此文件夹有助于查询迁移web应用程序中使用的数据库。
- 工厂 - 此文件夹用于生成大量数据记录。
上市
它是帮助初始化laravel应用程序的根文件夹。它包括以下文件和文件夹 -
- .htaccess - 该文件给出服务器配置。
- javascript和css - 这些文件被视为资产。
- index.php - 此文件是web应用程序初始化所必需的。
资源
resources目录包含增强您的web应用程序的文件。下面解释了此目录中包含的子文件夹及其用途 -
- 资产 - 资产文件夹包含文件,例如less和scss,这些文件是web应用程序样式所需的文件。
- lang - 此文件夹包含本地化或内部化配置。
- 视图 - 视图是与最终用户交互并在mvc体系结构中发挥主要作用的html文件或模板。
存储
这是存储laravel项目运行时经常需要的所有日志和必要文件的文件夹。下面给出了该目录中包含的子文件夹及其用途 -
- 应用程序 - 该文件夹包含连续调用的文件。
- 框架 - 它包含经常被调用的会话,缓存和视图。
- 日志 - 在此子文件夹中跟踪所有异常和错误日志。
测试
所有的单元测试用例都包含在这个目录中。命名测试用例类的命名约定是 camel_case, 并按照类的功能遵循约定。
供应商
laravel完全基于composer依赖关系,例如安装laravel安装程序或包含第三方库等。vendor文件夹包含所有的作曲者依赖关系。
除上述文件外,laravel还包含一些其他文件,这些文件在各种功能(如github配置,软件包和第三方库)中发挥主要作用。
包含在应用程序结构中的文件如下所示 -