如何在配置中处理数组?(Laravel)

3
我创建了一个新的配置文件,它是一个带有字符串键的嵌套数组。 .env 无法存储数组,这就是我创建 config/myconfig.php 的原因。我使用 Config::get('myconfig') 访问数据。
不幸的是,每个客户的配置都不同。由于无法将此数组放入 .env,因此需要手动更新需要更改的配置 php 文件。
如何定义一个环境变量是最好的方法,它不是一个简单的字符串,而是一个嵌套数组?

1
如果需要的话,你完全可以在.env文件中存储JSON字符串。你可以对其调用json_decode()函数。但是要注意,这可能会产生意想不到的后果。 - Ohgodwhy
也许这个链接可以帮到你。 - Troyer
只是好奇,你尝试将什么类型的环境变量存储为数组?这些值不是标量吗? - Chibueze Opata
1个回答

4

我遇到过同样的问题,在Laracast的这篇帖子中找到了解决方法,我认为它也适用于你的问题。

基本上,我在config文件夹中创建了一个自定义的配置文件,如下所示:

return [     
    env('KEY') => [
        env('KEY_ONE') => env('VALUE_ONE'),     
        env('KEY_TWO') => env('VALUE_TWO')  
    ]
};

在我的.env文件中:

KEY=VALUE
KEY_ONE=VALUE_ONE
KEY_TWO=VALUE_TWO

就这么简单,然后您可以通过调用配置变量来访问数组,例如:
Config::get('configfile_name.key');

或者直接到数组索引:
Config::get('configfile_name.key.key_one');

非常感谢您的帮助,它完全符合我的要求。 - Ariful Islam
我想将一个配置文件中的所有配置作为数组获取。 - saber tabatabaee yazdi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接