【问题标题】:Set facebook app_id for each of my different apps in same Symfony2 project在同一个 Symfony2 项目中为我的每个不同应用程序设置 facebook app_id
【发布时间】:2012-09-20 20:11:34
【问题描述】:

换句话说,我的每个 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 才能让它工作或使用另一个包。

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

【问题讨论】:

  • 你在哪里打这个电话:$this->container->setParameter("my_app_id", "99999999999");?在控制器中还是来自您的依赖注入扩展?
  • 在我的第一个 facebook app bundle 的控制器中

标签: facebook symfony config fosfacebookbundle


【解决方案1】:

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

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

另外,你可以看看这个cookbook recipe,它展示了如何从外部源设置参数。

祝你的用例好运。

问候,
马特

【讨论】:

    猜你喜欢
    • 2016-07-10
    • 2011-07-21
    • 2016-06-18
    • 1970-01-01
    • 2015-04-06
    • 2012-10-27
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多