【问题标题】:When does map method initiate in laravel service provider?map 方法什么时候在 laravel 服务提供者中启动?
【发布时间】:2020-05-08 01:38:17
【问题描述】:

我正在尝试更深入地研究 laravel 框架,这次我正在开发一个大型应用程序,所以我决定以模块化的方式进行。目前我正在使用Laravel Modules 包,它为我自己的模块提供服务提供者。我意识到它充当了注册视图、路由等的网关。

但是我真的找不到在 laravel 生命周期中何时调用 ma​​p 函数。我尝试转到parent::boot(); 函数,但它也没有启动该方法。

    public function map()
    {
        $this->mapApiRoutes();

        $this->mapWebRoutes();
    }

我想确保在开发模块时,路由已注册到我的应用程序中。但是我什至在主应用程序中都找不到生命周期,有人可以帮忙吗?

【问题讨论】:

  • 对 Laravel 了解不多,但还是做了一些挖掘工作。我猜你指的是RouteServiceProvider。似乎该提供程序的Boot 部分是there,并调用this,后者又调用您发布的方法。希望对您有所帮助。
  • 哇,我怎么能不检查 loadRoutes...感谢您的帮助,您可以将其发布为正确的答案

标签: php laravel frameworks


【解决方案1】:

该方法是Route Service Provider 的一部分。

任何服务提供商都有Boot method

在所有其他服务提供者都已完成后调用此方法 已注册。

在Route Service Provider的情况下,boot()的实现可以查看here。它继续调用内部的loadRoutes method,而后者又调用您所指的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多