Я пытаюсь работать с Sonata Admin Bundle в моем проекте Symfony, и у меня есть вопрос. Допустим, у меня есть сущность Comment
. Теперь пользователи должны иметь возможность создавать и редактировать комментарии в веб-интерфейсе, и я хочу, чтобы администратор мог делать то же самое в бэкэнде. Я установил класс администратора для объекта комментария, как описано в документах пакета администрирования сонаты .
Разумно ли использовать эту службу администратора в контроллере внешнего интерфейса для создания / обновления / удаления комментария, подобного этому:
public function createCommentAction(Request $request) {
...
if(true === $form->isValid()) {
$commentAdmin = $this->container->get('admin.comment');
$commentAdmin->create($comment);
// Redirect somewhere
...
}
}
Если нет, то не приведет ли разделение методов сохранения комментария к базе данных к дублированию большого количества кода? Есть ли лучшие решения? Я пытаюсь сделать в основном то же самое с фронта и бэкэнда.