Задать вопрос
@cryp24

Как правильно писать под MVC на laravel пример?

Не как не могу понять как правильно писать под MVC, в частности проблемы с пониманием что пихать в контроллер а что в модель, с view более менее понятно, прошу подсказать на моем примере ибо теорию уже зачитался.

Итак есть парсер новостей, на данный момент это выглядит так:
В App создал модель, в ней создал функцию (код большой поэтому напишу просто блоками 1-2-3-4-5)
public static function pars() {

1) Парсим страницу + распарсиваем нужные данные. На выходе имеем массив спарсинных данных для вставки в бд.
2) Сверяемся с базой на наличие дублей и формируем новый массив для вставки без дублей. На выходе имеем массив уникальных новостей.
3) Далее идет вставка этого массива в бд
4) После поступления новых данных, идет кое какая проверка по новым новостям на основании которой, удаляются некоторые старые.
5) Затем идет выборка по определенным критериям из этих новостей и отправка мне смс, если такие есть

return;
}


соответственно в web.php

Route::get('/pars', function () {

    App\News::pars();
    return ;
});


На выходе имею парсер site/pars который прикручивается на крон и все готова.

Как вы заметили в этой схеме нет контроллера. Как правильно распределить код из моего примера чтоб соответствовало модели MVC?
  • Вопрос задан
  • 716 просмотров
Подписаться Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
На выходе имею парсер site/pars который прикручивается на крон и все готова.

И всё готово максимально кривокосо, а не так как хотелось бы https://laravel.com/docs/5.8/scheduling
И контроллер тут вообще не нужен, и натягивание аббревиатуры MVC на всё что угодно.
И метод в модели который что-то делает тоже, хотя сама модель там вообще не используется https://laravel.com/docs/5.8/providers
И сам парсинг всё-в-одном https://laravel.com/docs/5.8/queues
Ответ написан
Комментировать
@procode
Разработчик
Судя по коду который я видел там и сям в Ларавеле принято пихать логику как раз таки не в модель а в контроллер :)

Модель обычно используют для взаимодействия с БД и настройки отношений.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы