0

つまり、fb アプリごとに異なるバンドルがあり、使用されているバンドルに応じて app_id とアプリ シークレットをロードしたいと考えています。

FOSFacebookバンドルも使用しています

私の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 に答える