在Symfony4中,他们选择替换parameters.yml环境变量,如文档和迁移指南中所述:
将与基础架构相关的配置选项定义为环境变量.在开发期间,使用项目根目录下的.env文件来设置它们.
我真的不喜欢这种改变,我没有看到任何优势但只有缺点(例如我们需要重构应用程序,因为现在只允许标量值作为环境变量,你不能在其中托管不同的安装相同的环境等...)
所以我的问题是,是否有可能在Symfony4中保留旧的good parameters.yml文件?如何包含此文件并参考其参数,例如,在doctrine.yml和swiftmailer.yml中?
完成后,它非常简单,它使您迁移到Symfony4变得更加容易.
只要移动parameters.yml和parameters.yml.dist到config/,并重新命名他们.yaml的一致性.
然后添加services.yaml:
imports:
- { resource: parameters.yaml }
Run Code Online (Sandbox Code Playgroud)
然后一切都将保持不变,例如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%"
...
Run Code Online (Sandbox Code Playgroud)
可选:添加https://github.com/Incenteev/ParameterHandler