我有这个配置:
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的情况)