Symfony4 - 转换env变量问题

时间:2018-03-18 10:56:25

标签: symfony

显然,Symfony cast env变量不适用于symfony 4.0。

我有这个配置:

cache:
    session:
        enabled: "%env(bool:SESSION_CACHE_ENABLED)%"

但是我收到了这个错误:

Invalid type for path "cache.session.enabled". Expected boolean, but got string.  

我的问题是什么?我正在使用symfony 4.0版

由于

修改

可能这是插件的问题。这就是我的想法:Symfony 4现在基于.env配置变量,默认为STRING;为了解决这个问题,S4能够使用“cast”env var

'%ENV(布尔:MYVAR)%'

它有效;如果在控制器中执行var_dump,则可以看到变量是布尔值。

大多数当前插件,也是支持S4的插件,都无法使用此语法,因此,他们将该变量视为STRING,并且验证器返回错误。

这些插件应该是固定的,或者实际上,我可以在每个包/ {env} / dir上使用分离的配置复制.yml文件(我会避免使用.env的情况)

1 个答案:

答案 0 :(得分:1)

该问题已在symfony 4.1 https://github.com/symfony/symfony/issues/22151

中得以解决。