我有symfony4设置
在里面
services.yml
我配置了以下服务
MyCompany\Interfaces\QueueProducerInterface:
class: MyCompany\Service\KafkaProducer
arguments:
$queueConfig: '@queue_config'
.env
文件,所以我可以稍后注入它,具体取决于env(dev,production)…所以我尝试了以下方法:
在里面
.环境
QUEUE_DRIVER="MyCompany\Service\KafkaProducer"
services.yaml
MyCompany\Interfaces\QueueProducerInterface:
class: '.%env(QUEUE_DRIVER)%'
arguments:
$queueConfig: '@queue_config'
但当我跑的时候
composer update
我得到一个容器错误
Script cache:clear returned with error code 1
!!
!! In Compiler.php line 112:
!!
!! Incompatible use of dynamic environment variables "QUEUE_DRIVER" found in p
!! arameters.
!!
!!
!! In AbstractRecursivePass.php line 123:
!!
!! Invalid service "MyCompany\Interfaces\QueueProducerInterface": class ".%env(
!! QUEUE_DRIVER)%" does not exist.
!!
!!
如何解决这个问题?或者更好地说,如何根据ENV动态设置这个类的值。