是否可以在运行时从控制器分配环境变量?
我正在尝试将数据库名称分配给parameters.yml的环境变量,但是我得到了一个例外。
"exception":[{"message":"Impossible to call set() on a frozen ParameterBag."
LoginController.php
$this->container->setParameter('env(DB_NAME)', 'company');
$env = $this->container->getParameter('env(DB_NAME)');
var_dump($env);
die();
config.yml
companies:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: "%env(DB_NAME)%"
user: '%database_user%'
password: '%database_password%'
charset: UTF8
parameters.yml
parameters:
database_host: 127.0.0.1
database_port: null
env(DB_NAME): default # Default value for env
database_name: "%env(DB_NAME)%"
database_user: root
database_password: root
知道如何分配变量吗?
插入所有数据库的实体管理器对我来说不是一个解决方案,因为有数百个数据库,其中凭证用户/密码和表结构是相同的。只更改数据库的名称。
非常感谢您的进步!
此致