2012-03-15 19 views
4

私はSymfony2でAPIを介してHTML文字列を受け取るアプリケーションを構築していますが、いくつかの点でTidyライブラリのようなものを考えています。固定HTML。Symfony2でサービスを保存する場所

Responseオブジェクトを返す必要がないため、すべての作業を行う要素はほとんどサービスで記述されます。

これらのサービスはどこに保存しますか?私はそれらをバンドルに入れていますが、それらを保管する明白な場所はありません。それらはどこにでも保存できると私は理解していますが、デフォルトの規約が何であるか不思議です。

+1

実際にサービスのための慣例はありません。一般的なバンドルのガイドライン(http://symfony.com/doc/current/cookbook/bundles/best_practices.html)に従ってください。また、他のサードパーティのバンドルを見て、組織のアイディアを確認してください。 – Cerad

+0

@Ceradああ素晴らしいリンクありがとうございます。私はSymfonyのサイトがより整理されていて、あなたがこれらのものを見つけることができたらいいと思っています。 –

+1

実際、例とコミュニティの回答に基づいて、私はいつも 'Vendor \ Bundle \ Service \ FooBarService.php'を使っています – Nick

答えて

7

このコードをSymfony2プロジェクトの外で再利用する必要がない場合は、バンドルに入れるだけです。

私のようなもののために行くだろう:

Acme\HtmlCleanerBundle\Cleaner\SimpleCleaner.php 

それがバンドルされているので、あなたは別のパッケージにそれを抽出することができますし、他のSymfony2のプロジェクトのためにそれを再使用します。

コードを完全に再利用可能にしてスタンドアロンにしたい場合は、別のライブラリに展開することをお勧めします。あなたは依然として個々のコンポーネントに依存することができます(恥知らずのプラグ:symfony 2.1で使用されるcomposerによってこれらの依存関係を管理できます)。

あなたがそのパスを下ることに決めた場合、そのバンドルは、DIコンテナの設定を提供することによって、Symfony2にライブラリを単純に統合します。

関連する問題