拉拉维尔获取配置变量

35
在 Laravel 5.0 中,我已经在 config/app.php 中进行了如下设置:
return [
//...
'languages' => ['en','it'],
//...
]

然后,我有一个刀片包装器在resources/views/frontend/includes/menus/guest.blade.php

@foreach (Config::get('languages') as $lang => $language)

然而,Laravel 表示 foreach 没有有效的参数,这意味着 Config::get('languages') 返回 null。 我无法在 app.php 中设置自定义变量?

3个回答

42
你需要将它更改为:

@foreach (Config::get('app.languages') as $lang => $language)

将你查找的第一个部分视为在/config下的文件,这种情况下 app.php 对应于 Config::get('app.*')

如果不明显,你也可以使用助手函数config()而不是Config::get()


1
你是否已经缓存了你的配置?php artisan config:clear - Jonathan
谢谢,我已经做到了,现在可以工作了。不过,缓存中的配置?我更喜欢 Cake 而不是 Laravel... - gdm
现在我有一个问题:“[cookieConsent]没有定义提示路径。” - gdm
我向你保证,从长远来看,你会更喜欢 Laravel。5.0 版本现在已经相当老了。如果可以的话,请使用 5.5 版本,它是最新的 LTS 版本。 - Jonathan
现在的最后一个错误:ProviderRepository.php文件的FatalThrowableError,位于第119行: 调用未定义的方法Illuminate\Html\FormFacade::isDeferred()。 - gdm

36

Laravel提供了一个配置文件的辅助函数,它可以避免每次访问值时都实例化Config

只需使用:

config('app.languages'); 

什么是测试使用环境变量的代码的最常见方法?通常我会猜测依赖注入,但我不知道它在这里如何工作。 - yourivdloo

4

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