首页 > 解决方案 > 通过匹配文本获取环境变量名称

问题描述

我在 .env 文件中有一些名称匹配的变量,如下所示

    MY_SITE_01=http://www.google.com
    MY_SITE_02=http://www.facebook.com
    MY_SITE_03=http://www.twitter.com

目前要获得正在使用的价值

    env('MY_SITE_01')
    env('MY_SITE_02')
    env('MY_SITE_03')

有没有一种方法可以动态地完成它,或者只是传递 MY_SITE 并让我获得所有变量的全名。

标签: phplaravel

解决方案


将这些环境添加到config/app.phpas,

'MY_SITES' => [
    'MY_SITE_01' => env('MY_SITE_01', 'http://www.google.com'),
    'MY_SITE_02' => env('MY_SITE_02', 'http://www.facebook.com'),
    'MY_SITE_03' => env('MY_SITE_03', 'http://www.twitter.com')
]

并得到它,

print_r(config('app.MY_SITES'));

这将从.env文件中获得价值,因此不再需要管理多个位置。


推荐阅读