laravel - 如何完全理解Laravel框架?

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

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

那么,他们如何学习如此深刻,以及从哪些来源学习?

最佳答案

我将简要介绍Laravel Official Documentation的内容

根目录

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

  • 如您所料,app目录包含应用程序的核心代码。模型, Controller ,服务,中间件都存储在这里。
  • bootstrap文件夹包含一些用于引导框架和配置自动加载的文件,以及一个高速缓存文件夹,该文件夹包含用于框架性能优化的一些框架生成的文件。通常,您不需要触摸此文件夹。
  • 顾名思义,config目录包含应用程序的所有配置文件。您必须在此处设置数据库连接,电子邮件驱动程序, session 存储配置(以及更多)。
  • database文件夹包含您的数据库迁移和种子。如果愿意,您也可以使用此文件夹保存一个SQLite数据库。迁移使您无需编写任何SQL代码即可定义数据库。如果您对版本化数据库结构感兴趣,这将非常有用。 See more info here
  • public目录包含前端 Controller 和您的资产(图像,JavaScript,CSS等)。
  • resources目录包含您的 View ,原始资产(LESS,SASS,CoffeeScript)和本地化文件。默认情况下, View 使用名为Blade的 View 引擎,但是您可以在config文件夹中进行更改。
  • storage目录包含已编译的Blade模板,基于文件的 session ,文件缓存以及框架生成的其他文件。该文件夹分为应用程序,框架和日志目录。该应用程序目录可用于存储您的应用程序使用的任何文件。 framework目录用于存储框架生成的文件和缓存。最后,logs目录包含应用程序的日志文件。
  • tests目录包含您的自动化测试。开箱即用提供了一个示例PHPUnit。
  • vendor目录包含您的Composer依赖项和应用程序所需的库。通过composer安装的每个库都将存储在此处。

  • 应用程序文件夹

    app文件夹包含您应用程序的核心代码。此文件夹中有不同的目录,每个目录都有特定的用途:
  • app目录附带许多其他目录,例如Console,Http和Providers。可以将Console和Http目录视为提供应用程序“核心”的API。 HTTP协议(protocol)和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
  • 关于laravel - 如何完全理解Laravel框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34807518/

    相关文章:

    php - Laravel 分形转换器,如何传递和获取额外变量

    laravel - 从中间件检查 Auth::user()

    laravel - 如何防止Laravel路由被直接访问(即非ajax请求)

    php - 拉维尔 |数据透视表,表名冲突

    javascript - 将数据从 Laravel $collection 传递到 jquery 循环

    Laravel 5 制作 :controller creating controller in app folder instead of controller folder

    php - 用 Eloquent 显示对象

    php - Elasticquent(ElasticSearch)Laravel限制

    php - 如何在 Controller 构造函数中添加两个中间件

    laravel - 自定义 Blade 指令不起作用 - 语法错误,意外 ')'