[解決済み] サービスからアプリケーションのパラメータにアクセスするには?
2023-05-29 10:10:04
質問
コントローラからアプリケーションのパラメータ(
/app/config
にあるもの) にアクセスします。
$this->container->getParameter('my_param')
しかし、サービスからこれにアクセスする方法がわかりません(私のサービスクラスは
Symfony\Bundle\FrameworkBundle\Controller\Controller
).
このように、必要なパラメータをサービス登録にマッピングすればよいのでしょうか。
#src/Me/MyBundle/Service/my_service/service.yml
parameters:
my_param1: %my_param1%
my_param2: %my_param2%
my_param3: %my_param3%
のようなものでしょうか?サービスからアプリケーションのパラメータにアクセスするにはどうしたらよいですか?
この質問 は同じように見えますが、私のは実際にそれに対する答え(コントローラからのパラメータ)であり、私はサービスからのアクセスについて話しています。
どのように解決するのですか?
他のサービスをインジェクトするのと同じように、サービス定義でパラメータを指定することで、サービスにパラメータを渡すことができます。 例えば、YAMLで
services:
my_service:
class: My\Bundle\Service\MyService
arguments: [%my_param1%, %my_param2%]
ここで
%my_param1%
という名前のパラメータに対応します。
my_param1
. そうすると、サービスクラスのコンストラクタは次のようになります。
public function __construct($myParam1, $myParam2)
{
// ...
}
関連
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】警告。数値でない値に遭遇しました
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み] PHP 未定義関数への呼び出し
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] YAML の文字列を複数行に渡って分割するには?
-
[解決済み】YAMLでブロックコメントを行うには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】foreach()に与えられた引数が無効です。)
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み】ディレクトリ内のファイル数を数える PHP
-
[解決済み】 libapache2-mod-php7 パッケージが見つからない。
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み】phpMyAdmin: シークレットパスフレーズ?
-
[解決済み】MySQLのカラム数が1行目の値数と一致しない【非公開
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。
-
[解決済み] symfony2のコントローラでparameters.ymlから読み込むにはどうしたらいいですか?