"проектируем нормально сущности в терминах бизнес логики (NewOrder как-то сильно звездными войнами попахивает)." - я упростил суть и постарался задать вопрос без лишних деталей. Само собой, в проекте названий типа NewOrder нет
"Между формами и сущностями ходят DTO. Делаем сервисный слой и оставляем контроллеры тонкими. А еще можно CQRS и EventSourcing но чувствую ранова-то, хотя возможно так было бы даже проще." - спасибо за общие советы, но вот как раз тут хотелось бы конкретики
"Вас смущает дублирование кода в контроллерах? выносите дублирование в приватные методы. Логики в контроллерах быть не должно, там только работа с формами и получание из них данных (по хорошему)." - даже для какого-нибудь создания заказа контроллер выглядит
хотя на самом деле кода еще немного больше. Что тут выносить в отдельные приватные методы, если отличаться будут только три строки
$model = $this->getOrderModel();
$form = $form = $this->createForm(new CreateOrderForm());
$model->createOrder($data);
? Не очень красиво будет выглядеть. Писать для каждой из этих трех строк ifы - тоже не идеально. Вот хотел посоветоваться, как правильно поступают в подобных случаях
Все в лог nginxа смотрел вместо лога php. Нет, таких ошибок нет, зато полно "PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20 bytes) in ". Смущает, что при этом ни разу не натыкался, чтобы приложение выкидывало мне ошибку
Написание фильтра - это уже более интересная задача будет, чем изучение документации. Спасибо, попробую посмотреть. ngx_http_sub_module может подойти. А отдельно для апача подобные модули существуют (если не использовать nginx)?
Спасибо, попробую разобраться с Вашим вариантом. Вопрос только с правами возник: нормально ли, что пользователь git будет иметь доступ на директорию с самим сайтом и, соответственно, создавать там свои файлы? С одной стороны, вроде и ничего страшного, но с другой как-то это не совсем правильно кажется. Или как в таком случае поступают?
Смотря какого рода сайт: некоторые темы админ-панелей и для рядового использования могут подойти.
Еще вспомнил http://www.bootstraptor.com/, тоже есть неплохие темы, может там Вы найдете что-то подходящее
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
"Между формами и сущностями ходят DTO. Делаем сервисный слой и оставляем контроллеры тонкими. А еще можно CQRS и EventSourcing но чувствую ранова-то, хотя возможно так было бы даже проще." - спасибо за общие советы, но вот как раз тут хотелось бы конкретики
"Вас смущает дублирование кода в контроллерах? выносите дублирование в приватные методы. Логики в контроллерах быть не должно, там только работа с формами и получание из них данных (по хорошему)." - даже для какого-нибудь создания заказа контроллер выглядит
$model = $this->getOrderModel();
$someDataForForm = $model->getSomeData();
$form = $form = $this->createForm(new CreateOrderForm($someDataForForm));
if ($request->getMethod() == 'POST') {
if ($form->isValid()) {
$data = $form->getData();
try {
$model->createOrder($data);
} catch (SomeException $e) {
...
} + еще несколько исключений
} else {
...
}
}
return $this->render('create_order.html.twig', array(...));
хотя на самом деле кода еще немного больше. Что тут выносить в отдельные приватные методы, если отличаться будут только три строки
$model = $this->getOrderModel();
$form = $form = $this->createForm(new CreateOrderForm());
$model->createOrder($data);
? Не очень красиво будет выглядеть. Писать для каждой из этих трех строк ifы - тоже не идеально. Вот хотел посоветоваться, как правильно поступают в подобных случаях