2011-08-02 11 views
2

私は経験豊富なSymfonyユーザーで、Symfony2の使用を開始しており、絶対にそれを愛しています。ファビアンとSensioの人たちに感謝します。Symfony2のコア機能を開発するためのベストプラクティス?

私は、現在入手可能なドキュメントのおかげで、Symfony2での開発の面でかなりのところにありますが、特に100%確実ではないという1つの領域があります。

私は、アプリケーションのさまざまな領域で使用したいコアファンクションをいくつか持っていますが、これがベストプラクティスであることを知りたいだけです。

私は現在、画像の処理を処理するいくつかの機能を持つバンドルを作成しています。

これを行うにはこれが最善の方法ですか、そうであれば他のバンドルでこれらの機能をどのように使用したり含めることができますか?

答えて

4

イメージハンドラーバンドルから使用するクラスをインポートするだけで済みますが、バンドルのservices(イメージマネージャーやサムネイルジェネレーターなど)を登録することができます作成している機能は、アプリケーション全体で使用するためにDICを介して利用できるようになります。

+0

こんにちは問題は、あなたの迅速な対応とあなたの助けをありがとう。私はまだ少し混乱しています。最終的にサービスはバンドルですか? Symfony2のドキュメントでサービスページを読んだことがありますが、実際のオブジェクトファイルを作成する場所や関数を書くクラスファイルはどこにありませんか?それ以上の助けをいただければ幸いです。 –

+3

$ x = new ImageProcessor()の代わりに$ x = $ this-> get( "image_processor")を使用してサービスにアクセスします。ここで、image_processorサービスはconfig/services.ymlファイルで定義されます。 http://pastebin.com/67xmZKS8は、最も一般的な例のタグと引数フィールドを省略できるサービスファイルの例です。サービスでは、コンストラクタの引数が何であるかを覚えることなく、新しいオブジェクトを取得できます。サービスはバンドルではなく、あらかじめ定義された(またはSymfony2または他のバンドルによって事前定義された)名前付きオブジェクトコンストラクタです。 – Adrian

+0

こんにちはAdrian、あなたのコメントとリンクをありがとう。私は今それを持っていると思う。私は基本的にsrc/Acme/TestBundle/Servicesの下に私のサービス用の新しいフォルダを作成し、そこでサービスを追加しました。私はその後、DICを通して拡張を使用して、すべてのサービスをロードするservices.ymlファイルをロードしました。私は[リンク](http://www.martinsikora.com/symfony2-andpendency-injection)に従った後にこれを行った。私の唯一の疑問は今私のサービスで教義のような他のサービスをどのように使用するのかです。 –

関連する問題