Найти тему

Основы работы с API Laravel (бэкенд/backend)

Оглавление

Необходимые программы:

  • ‌Phpstorm
  • ‌Postman
  • OSpanel (Open Server)

Ссылки на полезные статьи (в т.ч. те, с которых бралась информация):

https://laravel.com/docs/7.x
https://getcomposer.org/
https://laravel.com/docs/7.x/#installing-laravel
https://laravel.com/docs/7.x/#installing-laravel

Чтобы обойти тестовый запуск Laravel (php artisan serve) необходимо сделать:

Команда для включения тестового размещения
Команда для включения тестового размещения

  1. Перейти в директорию созданного проекта - пусть будет root
  2. Перейти в папку public (.../ root/public)
  3. Скопировать из этой папки файлы: index.php, .htaccess
  4. Вставить эти файлы в корень проекта - root
  5. Изменить в файле index.php (который мы скопировали в корень проекта - root) пару путей:
Пути после изменения
Пути после изменения

Далее нужно настроить в корневом каталоге файл .env:

Данные настройки необходимы для подключения базы данных.

Минимальная настройка, если мы используем MySQL
Минимальная настройка, если мы используем MySQL

Затем мы будем работать с консолью и api:

  1. В bash консоли (лучше использовать консоль сервера, локального в том числе, например Open Server имеет встроенную консоль) можно и даже нужно использовать некоторые полезные команды
  2. php artisan migrate - первоначальная миграция после настройки .env (php artisan migrate - миграция бд. Создает таблицы, согласно файлам миграций.)
  3. php artisan make:model ModelName -c -m (флаг с - создает контроллер, флаг m - создает миграцию)

Пример работы с миграциями:

Путь ..\root\database\migrations

Пример настройки миграции
Пример настройки миграции

Работа с api:

Путь к папке с моделями: ...\ root \app
Путь к папке с контроллерами: ...\ root \app\Http\Controllers
Путь к папке с api: ...\ root \routes, Файл: api.php

Настройка рутов:

Пример настройки рутов для api
Пример настройки рутов для api

Route::тип запроса(‘/путь запроса’, ‘НазваниеКонтроллера@названиеМетода’)

Из рута можно передать Request - поля форм post запроса, либо переменные get, delete и тд в параметр метода method($id)

Route::get(‘/method/{id}’, ‘ControllerName@method’);

Пример принятия Request'а в методе
Пример принятия Request'а в методе

response() - метод позволяющий вернуть ответ с сервера,

response()->json() - возвращает ответ в формате JSON,

setStatusCode() - устанавливает код ответа сервера

В данной статье я опускаю работу с OSpanel, контроллерами, моделями, и тд... Если будет интересно или появятся вопросы пишите, с удовольствием отвечу, ну или напишу следующую статью...)