2012-03-15 3 views
4

Я создаю приложение в Symfony2, которое получает строку HTML через API, работает над ней (думаю, что-то вроде библиотеки 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.

Если вы хотите, чтобы код был полностью повторно использован и автономный, я предлагаю вам извлечь его в отдельную библиотеку. У вас все еще есть зависимости от отдельных компонентов (бесстыдный плагин: вы можете управлять этими зависимостями через composer, который будет использоваться Symfony 2.1).

Если вы решили спуститься по этому пути, комплект просто интегрирует библиотеку в Symfony2, предоставив для нее конфигурацию контейнера DI.