Symfony4 - 选择退出 "environment variables" 功能并保留旧的 parameters.yml 文件?
Symfony4 - opt out of the "environment variables" feature and keep the old parameters.yml file?
在 Symfony4 中,他们选择用环境变量替换 parameters.yml
,如 docs 和迁移指南中所述:
Define the infrastructure-related configuration options as environment
variables. During development, use the .env file at the root of your
project to set these.
我真的不喜欢这个变化,我没有看到任何优点,只有缺点(例如,我们需要重构应用程序,因为现在只允许标量值作为环境变量,你不能在同一环境中托管不同的安装等...)
所以我的问题是,是否可以在 Symfony4 中保留旧的 parameters.yml 文件?我怎样才能包含这个文件并引用他的参数,例如在 doctrine.yml 和 swiftmailer.yml?
完成,这非常简单,它使您更容易迁移到 Symfony4。
只需将 parameters.yml
和 parameters.yml.dist
移动到 config/
,并将它们重命名为 .yaml 以保持一致性。
然后在services.yaml中加入:
imports:
- { resource: parameters.yaml }
然后一切都将保持不变,例如 doctrine.yaml 文件将是:
doctrine:
dbal:
driver: 'pdo_mysql'
server_version: '5.7'
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
...
在 Symfony4 中,他们选择用环境变量替换 parameters.yml
,如 docs 和迁移指南中所述:
Define the infrastructure-related configuration options as environment variables. During development, use the .env file at the root of your project to set these.
我真的不喜欢这个变化,我没有看到任何优点,只有缺点(例如,我们需要重构应用程序,因为现在只允许标量值作为环境变量,你不能在同一环境中托管不同的安装等...)
所以我的问题是,是否可以在 Symfony4 中保留旧的 parameters.yml 文件?我怎样才能包含这个文件并引用他的参数,例如在 doctrine.yml 和 swiftmailer.yml?
完成,这非常简单,它使您更容易迁移到 Symfony4。
只需将 parameters.yml
和 parameters.yml.dist
移动到 config/
,并将它们重命名为 .yaml 以保持一致性。
然后在services.yaml中加入:
imports:
- { resource: parameters.yaml }
然后一切都将保持不变,例如 doctrine.yaml 文件将是:
doctrine:
dbal:
driver: 'pdo_mysql'
server_version: '5.7'
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
...