Разъясните, пожалуйста, что является бизнес логикой приложения и где ее границы с контроллером? Какой вариант более правильный и почему: delete или deleteV2 ?
class ArticleController
{
public function delete(int $articleId, ArticleService $service)
{
$article = $service->deleteById($articleId);
$service->deleteImage($articleId);
$service->deleteCache($articleId);
}
public function deleteV2(int $articleId, ArticleService $service)
{
$article = $service->deleteV2($articleId);
}
}
class ArticleService
{
public function delete(int $articleId)
{
$article = $repository->find($articleId);
$repository->delete($article);
}
public function deleteV2(int $articleId)
{
$this->delete($articleId);
$this->deleteImage($articleId);
$this->deleteCache($articleId);
}
public function deleteImage(int $articleId)
{
//удаление изображения
}
public function deleteCache(int $articleId)
{
//удаление кэша
}
}
Контроллеры это уровень взаимодействия с пользователем(получение запроса) там бизнес логики быть не должно. На уровне сервиса бизнес логика может присутствовать.
Не так важно где у вас бизнес логика, важнее, что она должна быть вы одном месте. "Если вы не найдете место бизнес логике - она найдет его сама".
Второй вариант правильнее.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В адресной строке: /computerzubehör-/, но через $_SERVER['REQUEST_URI'] получаем /computerzubeh%C3%B6r-/Как получить строку как есть, без замены спецсимволами?
Перенёс сайт на другой домен, и некоторые ссылки на изображения остались со старого сайтаВ phpmyadmin делал замену всех ссылок в таблицах wp_posts,...
Установил phmyadminПосле установки он мне выдал: The mbstring extension is missing