如何完全理解Laravel框架?

时间:2016-01-15 09:02:28

标签: laravel laravel-5.2 laravel-middleware laravel-authorization

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

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

1 个答案:

答案 0 :(得分:8)

我将尝试简要介绍Laravel Official Documentation

的内容

根目录

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

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

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

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

  • database文件夹包含您的数据库迁移和种子。如果您愿意,您也可以使用此文件夹来保存SQLite数据库。迁移允许您在不编写任何SQL代码的情况下定义数据库。如果您对版本化数据库结构感兴趣,那么它非常有用。 See more info here

  • 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目录包含controllersmiddlewarerequests。您的应用程序的routes也在此目录中定义。

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

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

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

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

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