如何完全理解Laravel框架?

How to understand Laravel framework completely?

我已经完成了 Laravel 初学者教程,现在我可以理解这些教程中列出的每个主题并创建了我自己的项目,但正如我在这些教程中看到的那样,导师们能够理解每个主题的内容文件是为了并且能够根据他们的需要对其进行编辑和更改。

那么他们是如何深入学习的,从哪些来源学习的?

我会尝试简要介绍 Laravel Official Documentation

中所说的内容

根目录

在每个 Laravel 项目的根目录中,您可以找到以下目录:

  • 如您所料,app 目录包含应用程序的核心代码。模型、控制器、服务、中间件都存储在这里。

  • bootstrap 文件夹包含一些 bootstrap 框架和配置自动加载的文件,以及一个缓存文件夹,其中包含一些 bootstrap 框架生成的文件=] 性能优化。通常你不需要触摸这个文件夹。

  • config 目录,顾名思义,包含应用程序的所有配置文件。您必须在此处设置数据库连接、电子邮件驱动程序、会话存储配置(以及更多)。

  • database 文件夹包含您的数据库迁移和种子。如果您愿意,您也可以使用此文件夹来保存 SQLite 数据库。迁移允许您定义数据库而无需编写任何 SQL 代码。如果您对数据库结构的版本控制感兴趣,这将非常有用。 See more info here

  • public 目录包含前端控制器和您的资产(图像、JavaScript、CSS 等)。

  • resources 目录包含您的视图、原始资产(LESS、SASS、CoffeeScript)和本地化文件。默认情况下,视图使用名为 blade 的视图引擎,但您可以在 config 文件夹中更改它。

  • storage 目录包含已编译的 Blade 模板、基于文件的会话、文件缓存和框架生成的其他文件。此文件夹分为应用程序、框架和日志目录。 app 目录可用于存储您的应用程序使用的任何文件。框架目录用于存放框架生成的文件和缓存。最后,日志目录包含您的应用程序的日志文件。

  • tests 目录包含您的自动化测试。开箱即用地提供了一个示例 PHPUnit。

  • vendor 目录包含您的 Composer 依赖项和您的应用程序所需的库。通过 composer 安装的每个库都将存储在这里。

应用文件夹

app 文件夹包含您的应用程序的核心代码。此文件夹中有不同的目录,每个目录都有特定的用途:

  • app 目录附带了各种附加目录,例如 Console、Http 和 Providers。将控制台和 Http 目录视为向应用程序的 "core" 提供 API。 HTTP 协议和 CLI 都是与您的应用程序交互的机制,但实际上并不包含应用程序逻辑。换句话说,它们只是向您的应用程序发出命令的两种方式。 Console 目录包含你所有的 Artisan commands, while the Http directory contains your controllers, middleware, and requests. The routes 你的应用程序也在这个目录中定义。

  • 如您所料,Events 目录包含事件 类。事件可用于提醒应用程序的其他部分已发生给定操作,从而提供很大的灵活性和解耦。 Check this link for more info

  • Exceptions 目录包含应用程序的异常处理程序,也是放置应用程序抛出的任何异常的好地方。

  • Jobs 目录当然包含您的应用程序的可排队作业。作业可能会在当前请求生命周期内由您的应用程序或 运行 同步排队。 There is more info here.

  • Listeners 目录包含事件的处理程序 类。处理程序接收事件并执行逻辑以响应被触发的事件。例如,UserRegistered 事件可能由 SendWelcomeEmail 侦听器处理。

  • Policies 目录包含您的应用程序的授权策略 类。策略用于确定用户是否可以对资源执行给定的操作。 More info here.