如何在Lumen/Laravel应用服务提供者寄存器函数中包含php文件



当我尝试按照规范建议自定义形态关系中的多态类型时,

您可以在启动函数中注册 morphMap 应用服务提供商,或者根据需要创建单独的服务提供商。

我在AppServiceProvider寄存器函数中添加了morpMap函数(我在Lumen 5.3中找不到使用的引导功能)。

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        $propertyConfig = include ('../config/config_property.php');
        Relation::morphMap($propertyConfig['property_morph_map']);
    }
}

然后,当我尝试运行一些 php 工匠命令时,它抛出了这个错误,

[错误异常]
包括(../config/config_property.php):无法打开流:没有这样的 文件或目录

但是 morphMap 函数确实有效,这意味着当我在 Homestead 上运行此代码时,地址是正确的。

这是我的第一个Lumen项目,我仍然不熟悉服务提供商。对我来说,注册功能如何影响工匠命令有点奇怪......

您可以通过以下代码以bootstrap/app.php加载配置文件。

$app->configure('config_property')

要在 中使用配置文件AppServiceProvider请使用 configure()

这是代码。

Relation::morphMap(configure('config_property.property_morph_map'));

最新更新