Laravel 模块的配置文件

标签 laravel laravel-5

我需要获取模块配置中文件的 key 。我使用 nWidart 创建了 User 模块包裹。这是registerConfig函数

protected function registerConfig()
{
    $this->publishes([
        __DIR__.'/../Config/config.php' => config_path('user.php'),
    ], 'config');
    $this->mergeConfigFrom(
        __DIR__.'/../Config/config.php', 'user'
    );
}

我创建了一个名为 menu.php 的文件,它返回一个带有键 items 的数组,然后尝试了这个

dd(config('user::config.name'))
dd(config('user::menu.items'))

它们都返回 null。我还尝试了 UserServiceProviderphp artisanvendor-publish 但它仍然返回 null。我怎样才能归还 key ?

更新

如果我简单地这样做: config() 我会得到配置数组的完整数组,并且可以在那里看到我的包配置文件。但是 menu 配置文件不在那里

最佳答案

在您的 serviceProvider 中,注册方法。

    $this->mergeConfigFrom(
        __DIR__ . '/../config/master.php',
        'master'
    );

    // Merge configs
    $this->mergeConfigFrom(
        __DIR__ . '/../config/slave.php',
        'slave'
    );

在config文件夹中创建两个文件 从属.php

    <?php
return [
    'menu' => [
        'OP1',
        'OP2',
        'OP3',
        'OP4',
    ]
];

master.php //您想要加载的任何其他配置

运行 php artisan config:cache

并使用

dd(config('slave.menu')); dd(config('master.XXX'));

这将输出

array:4 [▼
  0 => "OP1"
  1 => "OP2"
  2 => "OP3"
  3 => "OP4"
]

关于Laravel 模块的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52455547/

相关文章:

mysql - Laravel eloquent - 多对多,单个数据透视表上的多个 "roles"

macos - Mac OS X上需要Mcrypt PHP扩展

php - php cli 输出中的奇怪字符

没有数据库查询的 laravel 队列

javascript - JavaScript 中的 PHP 和转义

php - Laravel 5 - 方法注入(inject)

Javascript 代码在 Blade 模板 Laravel 中无法工作

php - Laravel - 如何从 auth 用户名匹配的另一个表中获取 profile_picture?

php - 更新所有行

php - Laravel - artisan - 无法插入空列