2017-03-16 7 views
1

私はDrupal 8サイトで使用するカスタムスタンドアロンライブラリを作成しています。 Drupal 8はSymfony 2.8.x上で動作します。私はこのコードをDrupalの外で使用できるようにしたい。ですから、私はDrupal指向よりもSymfony指向を重視しています。カスタムSymfony互換ライブラリの設定ファイル

これまで私が探していたのは、SymfonyはDependencyInjection/Configuration.phpに多数の設定宣言を書く必要があるということです。 MyBundleExtension.phpファイルのサービス宣言だけでなく、

私は見つけられませんでしたが、「ちょっと、このスタンドアロン(このコントローラではない)クラスのこの設定パラメータが必要です」と言う簡単な方法です。だから私はあなたが下に見るクラスを書いた。

これを処理するより良い方法はありますか?

コード:http://pastebin.com/pdp53kxe

また、これは、ロードサービスで何か問題が作成されますか?

ある時点で、私は依存性注入に取り組む必要があります。 Symfonyフレームワークを利用しながら、このスタンドアロンのライブラリにどのように取り組むかはまだ分かりません。私のためにSymfonyワイヤをどのように持っているかについての提案は素晴らしいでしょう。

ここで私の基本的な質問は、ライブラリ設定でSymfonyを使用することです。コントローラのコンテキスト内で変数が必要になるとは思わない場所。

答えて

1

あなたがコンフィグレーションを読み込みたい場合は、DependecyInjection/MyBundleExtension.phpクラスを使用してコンフィグレーションをロードする必要があるかもしれません。

もう1つの方法は、コンパイラのパスを使用してコンテナを直接操作することですが、これはあなたの場合には過度のものに見えるでしょう。

主な理由は、依存性注入コンテナ(すべてのサービス定義と設定パラメータが含まれています)がコンパイルされているためです。

コンパイルする前に余分な設定を注入する必要があります。

参考リンク:

http://symfony.com/doc/current/service_container/import.html

http://symfony.com/doc/current/service_container/compiler_passes.html

関連する問題