0

换句话说,我的每个 fb 应用程序都有不同的包,并且希望根据正在使用的包加载 app_id 和应用程序机密。

我也在使用 FOSFacebook Bundle

我的 config.yml:

parameters:
    # facebook
    my_app_id: test
    my_app_secret: test
fos_facebook:
    file:   %kernel.root_dir%/../vendor/facebook/src/base_facebook.php
    alias:  facebook
    app_id: %my_app_id%
    secret: %my_app_secret%
    cookie: true

试图做:

$this->container->setParameter("my_app_id", "99999999999");

给了我“不可能在冻结的 ParameterBag 上调用 set()”。错误。

而这个:http ://groups.google.com/group/symfony2/browse_thread/thread/6f09df702f656874 说我必须先明确地 getParameter 才能工作或使用另一个包。

所以问题是,相对简单且耗时较少的方法是什么?

4

1 回答 1

1

我认为一旦构建了依赖注入容器,参数就会被冻结。这意味着您不能直接更改控制器中的参数。

您可以做的是创建一个将设置参数的捆绑扩展。在捆绑扩展中,可以设置和更改参数。查看此食谱部分以了解如何创建捆绑扩展。

此外,您可以查看此食谱食谱,该食谱展示了如何从外部源设置参数。

祝你的用例好运。

问候,
马特

于 2012-04-23T02:51:14.563 回答