4

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

那么他们如何如此深入地学习以及从哪个来源学习呢?

4

1 回答 1

12

我将尝试简要介绍Laravel 官方文档中所说的内容

根目录

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

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

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

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

  • database文件夹包含您的数据库迁移和种子。如果你愿意,你也可以使用这个文件夹来保存一个 SQLite 数据库。迁移允许您在不编写任何 SQL 代码的情况下定义您的数据库。如果您对数据库结构的版本控制感兴趣,这将非常有用。在此处查看更多信息

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

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

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

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

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

应用程序文件夹

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

  • app目录附带各种附加目录,例如 Console、Http 和 Providers。将 Console 和 Http 目录视为为应用程序的“核心”提供 API。HTTP 协议和 CLI 都是与应用程序交互的机制,但实际上并不包含应用程序逻辑。换句话说,它们只是向您的应用程序发出命令的两种方式。Console 目录包含您的所有Artisan命令,而 Http 目录包含您的控制器中间件请求。您的应用程序的路由也在此目录中定义。

  • Events如您所料,该目录包含事件类。事件可用于提醒应用程序的其他部分发生了给定的操作,从而提供了极大的灵活性和解耦性。检查此链接以获取更多信息

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

  • 当然,该Jobs目录包含应用程序的可排队作业。作业可能由您的应用程序排队或在当前请求生命周期内同步运行。这里有更多信息

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

  • Policies目录包含应用程序的授权策略类。策略用于确定用户是否可以对资源执行给定的操作。更多信息在这里

于 2016-01-15T09:25:40.260 回答