@banny_name

Что такое абстракция для http, Request и Response в mvc framework?

Разбираю mvc framework...

В роутинге класс Request хранит данные абстракции для http -> не понимаю что это и зачем вообще?
так же, раньше небыло класса Response, а просто вызывался контроллер, контроллер обрабатывал и вызывал вьюшку (require view.php)

сейчас класс Response выводит view.php через echo ( то есть, контроллер возвращает содержание view, а Response выводит его через echo )
Зачем все это ?
Объясните пожалуйста
  • Вопрос задан
  • 1007 просмотров
Решения вопроса 1
MegaMufa
@MegaMufa
Честно говоря первый раз слышу про этот фреймворк. Да и фреймворком это назвать сложно. Посмотрел немного исходники (это они?). Сделано, мягко говоря, через одно место. Да и ничего там практически нет. Если хотите разобраться с MVC, посковыряйте тот же Yii например.

Касательно конкретно вашего вопроса. Response и Request используют для того, чтобы абстрагироваться от работы с потоком ввода-вывода. Response например за вас выставит необходимые заголовки. Request даст удобную обертку для доступа к $_POST и $_GET запросам. Это естестенно не все.

Суть в том, чтобы вам не пришлось работать с низкоуровневыми штуками напрямую. Вы получаете к ним доступ через абстракцию, которая так же предоставляет кучу разных удобных плюшек. Плюс вы работаете не с глобальными данными, а с конкретным объектом, который получили в метод.

Почему рендерит через echo - хз. В yii это например так происходит:
public function renderPhpFile($_file_, $_params_ = [])
{
    ob_start();
    ob_implicit_flush(false);
    extract($_params_, EXTR_OVERWRITE);
    require($_file_);
    return ob_get_clean();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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