3

例如,我希望能够在另一个配置文件中使用定义的嵌套参数

# config/config.yaml (my custom configuration file)
database:
    driver: pdo_mysql
    host: localhost
    user: dev
    password: dev
    dbname: dev

在另一个配置文件中使用

# config/packages/doctrine.yaml
url: 'mysql://%database.user%:%database.password%@%database.host%:%database.port%/%database.dbname%'

这目前不起作用,因为我不确定如何引用 Config 包中的变量(https://symfony.com/doc/current/configuration.html

4

1 回答 1

1

参数只是平面键值元素,不能嵌套。这是写在Symfony 文档中的

您必须为每个参数定义一个单独的键。惯例是使用点来分隔命名空间。点不会使它成为一个数组,但使它更易于阅读。

database.driver: pdo_mysql
database.host: localhost
database.user: dev
database.password: dev
database.dbname: dev

然后完全按照您的需要访问参数:

url: 'mysql://%database.user%:%database.password%@%database.host%:%database.port%/%database.dbname%'
于 2018-06-04T10:49:08.857 回答