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

Где Вы принимаете и обрабатываете $_POST запросы?

Ну вот читаю очень часто: логика не должна содержаться в контроллере.

1. Ну и нажал я кнопку и где мне хотя бы принять и обработать это нажатие, чтобы вызвать модель - это ведь логика: проверить нажатие кнопки и то что методом POST проверить пришло.

2. Ну а если вот вынес я в модель проверку эту и работаю в методах сразу с полученными POST данными, но мне пишут, что эти данные нужно передавать в методы параметрами, потому что мало ли этот метод нужен там где-то ещё будет)))) Так если я в модели крнструктором принял их или в методе принимаю, то как я их в метод передам? Из контроллера при вызове метода модели, где эти POST данные нужны? Так это же логика: я сначала в контроллере должен принять, проверить и её нельзя в контроллер :)

Кто-то может точку поставить, чтобы не дёргаться.
  • Вопрос задан
  • 145 просмотров
Подписаться 2 Простой 13 комментариев
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Vitsliputsli
В том контексте, где вы читали, имелась ввиду бизнес-логика. MVC - это по-сути деление кода на логические слои "ввод", "обработка", "вывод". Попробуйте, представить, что у вас взаимодействие пользователя не только через web, но и как-то еще, какое-нибудь api, или даже командная строка. Чтобы не дублировать код, вы выделите какую-то общую часть, это и будут модели, а различия ввода уйдут в контроллеры, и там уже в них будете обрабатывать http-запросы или аргументы командной строки.
Но не нужно мои слова понимать буквально, как ту статью. К примеру, я не имел ввиду, что api - это только контроллеры, в какой-то момент вы решите что нужны собственные модели для api, да и вообще нужно выделить его в отдельный модуль.
Схема MVC, как и паттерны проектирования - это способы управления сложностью. В данном случае мы боремся с сильным зацеплением, т.е. зависимостью классов друг от друга во многих частях. Чем меньше таких зависимостей, тем проще будет расширять код. Писать api к правильно разделенному по mvc коду достаточно легко, но если везде будут произвольно натыканы обращения к данным post-запроса, то все эти куски придется переписывать. Продумывайте как будете расширять проект.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽