Php 来自bundle的交互式参数

Php 来自bundle的交互式参数,php,symfony,yaml,bundles,Php,Symfony,Yaml,Bundles,我正在Symfony2中开发我的第一个bundle,这些服务在其构造中使用了一些参数,如果我保持这种结构,它们可以正常工作,位于AcmeBundle/Resource/config/parameters.yml: parameters: id: IDVAL secret: SECRETVAL services: my_service: class: MyClass arguments: [%id%, %secret%] 但是我想知道是否

我正在Symfony2中开发我的第一个bundle,这些服务在其构造中使用了一些参数,如果我保持这种结构,它们可以正常工作,位于AcmeBundle/Resource/config/parameters.yml

parameters:
    id: IDVAL
    secret: SECRETVAL

services:
    my_service:
        class: MyClass
        arguments: [%id%, %secret%]
但是我想知道是否有任何方法可以利用,通过使用composer AcmeBundle/Resource/config/parameters.yml.dist而不是app/config/parameters.yml.dist来安装包


提前问候和感谢。

我不知道在创建可重复使用的捆绑包时,如何通过composer做到这一点。
相反,您可以基于
config.yml
文件,使用symfony配置捆绑包,并使这些参数成为必需的参数,这样在安装捆绑包时,用户必须提供这些参数。对于您的用例,它将类似于:

// in YourBundle\DependencyInjection\Configuration
public function getConfigTreeBuilder(){
  $treeBuilder = new TreeBuilder();
  $rootNode = $treeBuilder->root('your_bundle_alias');
  $rootNode
    ->children()
      ->scalarNode('param1')->isRequired()->end()
      ->scalarNode('param1')->isRequired()->end()
    ->end();
 }


以这种方式编写捆绑包配置将强制用户在
config.yml
文件中为捆绑包提供一个条目,如下所示:

your_bundle_alias:
  param1: the_users_value
  param2: another_value
your_bundle_alias:
  param1: the_users_value
  param2: another_value