2012-05-25 2 views
1

Я новичок в Symfony2, и я не уверен, где я должен сохранить класс, который обновил несколько таблиц (сущностей).В Symfony2, какую папку я сохраняю в классе нескольких сущностей?

Из документации по чтению и учебников говорится, что я не должен помещать ссылку на другие таблицы в классе сущности; Я мог бы поместить его в класс контроллера, но снова многие люди сказали, что этот класс должен быть как можно более простым и не включать бизнес-логику; Не в репозиториях, потому что они используются для данных запроса, а не для обновления или вставки.

Существует ли стандартная структура папок, где должен сохраняться другой тип класса для работы с несколькими объектами (таблицами)? Должна ли бизнес-логика храниться в классах контроллера?

ответ

1

Symfony2 очень гибкий в этом отношении.

Вы правы, объекты предназначены только для одного «стола».

Я предлагаю вам ознакомиться с Services, так как они являются хорошим способом переместить ваш код с контроллера на отдельный класс. Вы в основном называете свою услугу и используете функции, которые она предоставляет. Это уменьшит ваш контроллер.

+0

Услуги ха? Я думал, что услуги могут быть использованы для этого, но не были уверены. Я использовал сервисы для таких вещей, как twig extensions. Я думаю, что это лучший вариант. Я создам сервис для добавления продукта в счет-фактуру, который обновит сумму счета, добавит продукт в список и добавит историю в таблицу истории. – Apot

+0

Да, по крайней мере, это моя интерпретация. Я не нашел окончательного примера того, как проект должен быть структурирован с примерами. Я нахожу, что изучение пакетов на Github очень полезно, особенно из FriendsOfSymfony (FOS), поскольку они очень верны стандартам Symfony. – cvaldemar

Смежные вопросы