4

Symfony2で自分のバンドルを設定する必要があり ます。それらを配置するのに最適な場所はどこですか?
どうすればそこからそれらを取得できますか?

でデフォルトの DB パラメータを使用PARAMETERS.INIしましたが、コードで個人的に取得できる追加のパラメータが必要です。

4

4 に答える 4

4

たとえば、パラメーターをバンドル内に保持する必要があります。 src/Company/SomeBundle/Resources/config/parameters.yml

于 2012-11-27T17:52:01.827 に答える
3

必要な追加パラメーターを定義するには、config.yml ファイルで定義します。何かのようなもの:

# app/config/config.yml
parameters:
    my_mailer.class:      Acme\HelloBundle\Mailer
    my_mailer.transport:  sendmail

次に、doctrine や swiftmailer などの他のサービスを取得するのと同じように、コントローラー内など、サービス コンテナーが利用可能な場所ならどこでもそれらを取得できます。たとえば、コントローラーで次のようにします。

$transport = $this->get('my_mailer.transport');

必要に応じて、paramters.ini でこれらのパラメーターを定義できます。同じ結果が得られます。

于 2012-08-25T19:06:22.327 に答える
1

バンドルクックブックエントリのセマンティック構成を公開する方法を参照してください。このアプローチの利点の 1 つは、構成を検証できることです。

于 2012-08-27T06:39:09.497 に答える
0

parameters.ini ファイルで異なる部分を使用します。prod1 で始まるパラメーターを使用して prod1 環境を作成し、prod2 で同じパラメーターを使用することができます。

parameters.ini:

[parameters]
prod1_database_driver = pdo_mysql
prod1_database_host = 127.0.0.1

# ...

prod2_database_driver = pdo_mysql
prod2_database_host = localhost

どちらも prod.yml 構成を使用しますが、parameters.ini から読み取りたいものを上書きします。

config_prod1.yml:

imports:
 - { resource: config_prod.yml }

// .. overwrite stuff here
于 2012-08-25T18:23:52.263 に答える