如何完全理解Laravel框架?

rra*_*anj 2 laravel laravel-middleware laravel-5.2 laravel-authorization

我已经通过Laravel初学者教程走了,现在我可以了解每一个主题在这些教程列出,并创造了自己的项目,但正如我在那些看到,导师们能够了解每个文件是为那些和有能力编辑它并根据需要进行更改.

那么他们如何深入学习,从哪个来源学习呢?

Lui*_*lez 8

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

根目录

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

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

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

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

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

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

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

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

  • tests目录包含您的自动化测试.一个示例PHPUnit是开箱即用的.

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

App文件夹

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

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

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

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

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

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

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