На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Урок 10. MVC, HTTP-запросы и REST


Этот урок из учебника по Laravel мы посвятим теории – познакомимся с MVC и REST.

При изучении Laravel вам необходимо иметь представление о структуре приложений Model–View–Controller (MVC), а также многие примеры, которые мы рассмотрим, используют имена маршрутов REST-ish и методы, поэтому давайте быстро рассмотрим и то, и другое.

Что такое MVC?

В MVC у вас есть три основных понятия:

  • Модель. Представляет собой отдельную таблицу базы данных (или запись из этой таблицы) — например, “компания” или “собака".
  • Представление. Представляет собой шаблон, который выводит ваши данные конечному пользователю – например, "шаблон страницы входа в систему с этим заданным набором HTML, CSS и JavaScript.”
  • Контроллер. Как и гаишник, он принимает HTTP-запросы из браузера, получает нужные данные из базы данных и других механизмов хранения, проверяет вводимые пользователем данные и в конечном итоге отправляет ответ обратно пользователю.


На рисунке выше видно, что конечный пользователь сначала взаимодействует с контроллером, отправляя HTTP-запрос через свой браузер. Контроллер в ответ на этот запрос может записывать данные в модель (базу данных) и/или извлекать их из нее. Затем контроллер, скорее всего, отправит данные в представление, а затем представление будет возвращено конечному пользователю для отображения в его браузере.

Мы рассмотрим некоторые варианты использования Laravel, которые не соответствуют этому относительно упрощенному взгляду на архитектуру приложений, поэтому не зацикливайтесь на MVC, но это, по крайней мере, подготовит вас к тому, чтобы подойти к остальной части этой главы, когда мы будем говорить о представлениях и контроллерах.

Методы HTTP

Самый распространенный http-команды Get и POST, затем по put и delete. Есть также HEAD, OPTIONS и PATCH, а также два других, которые практически никогда не используются в обычной веб-разработке, TRACE и CONNECT.

Вот краткое изложение:

  • GET - Запросить ресурс (или список ресурсов).
  • HEAD – получить заголовки ответа
  • POST - Создать ресурс.
  • PUT - Перезаписать ресурс.
  • PATCH - Изменение ресурса.
  • DELETE- Удаление ресурса.
  • OPTIONS - Задать сервер, на котором команды допускаются на этот URL.
В таблице ниже показаны действия, доступные на контроллере ресурсов. Каждое действие предполагает, что вы вызываете определенный шаблон URL-адреса с помощью определенного метода, поэтому вы можете получить представление о том, для чего используется каждый метод.



Что такое REST?

Говоря кратко, REST - это архитектурный стиль построения API. Когда мы говорим о REST на уроках по Laravel, мы в основном будем ссылаться на некоторые характеристики, такие как:

  • Быть структурированным вокруг одного основного ресурса за раз (например, задачи)
  • Состоит из взаимодействий с предсказуемыми структурами URL-адресов с использованием HTTP-методов (как показано в таблице)
  • Возврат JSON и часто запрашивается с помощью JSON
Это еще не все, но обычно “RESTful”, как он будет использоваться, будет означать “по образцу этих структур на основе URL-адресов, чтобы мы могли делать предсказуемые вызовы, такие как GET /tasks/14/edit для страницы редактирования.” Это актуально (даже если вы не строите API), потому что структуры маршрутизации Laravel основаны на REST-подобной структуре, как вы можете видеть в таблице/

API на основе REST в основном следуют той же структуре, за исключением того, что у них нет маршрута создания или маршрута редактирования, поскольку API просто представляют действия, а не страницы, которые готовятся к этим действиям.



Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегистатьи IT, уроки по Laravel, MVC, php





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Начало работы с RuVDS: установка и настройка сервера, быстрый запуск (перенос) сайта
Урок 1. Введение в параллельное программирование C#


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.