0

独自のバンドルを作成します。このバンドルにはクラスがあります。

このクラスには変数があります$Url。別のバンドルのコントローラーでこの変数を使用したいと思います。別のバンドルのコントローラーに変数を渡すにはどうすればよいですか?

4

2 に答える 2

0

最良の選択肢は、Controller as a Service を作成することだと思います。これについては、Richard Miller によるブログ記事を参照してください

それが完了したら、次の値でサービス パラメータを作成できます$Url

# app/config/config.yml
parameters:
    my_first_bundle.url: Some value

services:
    # request and response services
    my.response: 
        class: Symfony\Component\HttpFoundation\Response
    my.request: 
        class: Symfony\Component\HttpFoundation\Request

    # controller services
    my_second_bundle.mycontroller: 
        class: Acme\MySecondBundle\Controller\MyController
        arguments: [ %my.response%, %my.request%, %my_first_bundle.url% ]
于 2012-12-06T22:19:48.750 に答える
0

そのクラスをサービスに変換し、依存性注入を使用して $url 値を設定する必要があるようです。または、あるコントローラーで $url を変更し、後で別のコントローラーで再度アクセスする予定がある場合は、$url を永続化する必要がある場合があります。の上。いずれにしても、そのクラス ファイルをサービスに変換する必要があります。

于 2012-12-07T01:48:10.457 に答える