Гайд Framework Lumen простым языком

Модератор раздела Рынок
Модератор
Статус
Оффлайн
Регистрация
27 Апр 2019
Сообщения
106
Реакции[?]
47
Поинты[?]
1K
Чтобы понимать статью надо знать хотя бы базу PHP.
Я не эксперт в PHP а лишь джун, а хейт в мою ничего не даст, всегда рад выслушать свои ошибки и улучшать контент!
Итак, приветствую всех диванные эксперты!
Сегодня хочу поговорить на тему Фреймворка Lumen для PHP, суть его проста используют в основном для написания
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
Представим что вы смогли поставить себе PHP на свой PC, установили композер и создали проект. Возникает вопрос, зачем же нужна тема если есть документация? Лично для меня есть непонятные моменты, а смотреть Индусов на ломаном английском не хочется от слова совсем. Сегодня мы познакомимся с Ротуером, главный компонент без которого дальше наш код не уйдет. И так Роутер, как и с чем его едят.
Сперва поднимем локальный сервер:
Запуск:
php -S localhost:8000 -t public
И уже на этом этапе у некоторых могут возникнуть проблемы, когда создаешь новый проект через композер появляется новая папка куда вам в терминале или в CMD нужно перейти командой:
CD:
cd Название вашего проекта
Причиной ошибки служит то что PHP не сможет найти папку "public" которая находится как раз таки в папке проекта.
Живой пример:
1673633914819.png

После успешного запуска локального сервера, PHP сообщит вам об этом, вот таким сообщением:
1673633983036.png

Открываете эту ссылку в браузере и видите версию Lumen, отлично, ты молодец!
А теперь перейдем к самому Роутеру.
Базовая маршрутизация
В API используются такие методы запроса как:
GET​
POST​
PUT​
PATCH​
DELETE​
OPTIONS​

В этой теме я лишь затрону два метода эта GET и POST
GET запрос - используется, для того чтобы получить какую нибудь информацию с API, в пример можно взять получение текущего времени
От теории к практике давайте напишем небольшой код для нашего API, чтобы выводить текущее время.
Для начало нужно объявить функцию:​
Функция:
$router->get('time', function () {
});
И так первый аргумент функции get это URI, говоря простыми словами указываем туда, то по какой ссылке будет вызываться наш код, я написал time т.к это больше всего подходит.
Для того чтобы вернуть время из функции, воспользуемся
Пожалуйста, авторизуйтесь для просмотра ссылки.
, не забыв вызвать стандартную функцию PHP time();
Конечный код:​
Router time:
$router->get('time', function () {
    return time();
});
После чего переходим по ссылке в браузере:
Пожалуйста, авторизуйтесь для просмотра ссылки.
1673635464576.png

Поздравляю! У вас получилось вывести время, но сейчас оно в формате
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
Давайте попробуем вывести читаемый формат для человека, для этого мы используем
Пожалуйста, авторизуйтесь для просмотра ссылки.

Для начало нам нужно понять откуда брать функции для этого чуть выше ваших функций напишем строчку
Carbon:
use Carbon\Carbon;
После чего возвращаем из функции читаемое время, используя сам Carbon​
Time:
$router->get('time', function () {
    return Carbon::now();
});
Теперь обновив страницу, мы получим время в человеческом формате
Output:
"2023-01-13 21:56:43.903156 "
Отлично! Ты снова молодец, теперь пока что можно закончить с GET и перейти к POST.
У нас проблемы! С этого момента я не могу прикладывать скриншотов поэтому придётся больше читать и меньше смотреть
POST запрос - используется для того, чтобы отправить ту или иную информацию на ваш API, также более безопасен в отличие от GET.
Примеров использования довольно много, например это передача логина человека с вашего приложения на API.
Снова перейдем от теории к практике, т.к вы уже научились объявлять функции я пропущу этот момент.
Для начало используем стандартный класс Request
PHP:
use Illuminate\Http\Request;
После того как вы написали данную строку над функциями открывается расширенный функционал, теперь нам доступно работа с запросами
Теперь используя функцию POST, в аргументах нашей функции объявим об использовании класса чтобы внутри самой функции можно было использовать переменную $request
PHP:
$router->post('user', function (Request $request) {

});
Теперь нам нужно брать из запроса нужное нам поле и к примеру выводить, для этого используем наш любимый return и обратимся к переменной $request указывая на input с нужным нам названием, например login​
PHP:
$router->post('user', function (Request $request) {
    return $request->input("login");
});
После проделанной работы нам нужно проверить, но обычное открытие ссылки не подойдет т.к это всё также GET запрос, я использую POSTMAN(no Ad)
подходит больше всего для тестирования на локальной тачке, если у вас веб сервер с доменом или айпи вы можете использовать
Пожалуйста, авторизуйтесь для просмотра ссылки.

В выбранном вами сервисом указываем ссылку (
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
В параметрах указываем название ключа (KEY = login) а значение (VALUE = 03O3), метод запроса указываем POST и отправляем, получаем ответ 03O3, либо то значение которое вы указали.
Всё, это успех! Ты снова молодец

Итак, подведём итоги:
Сегодня ты познакомился с фреймворком Lumen, научился делать стандартные маршруты типа GET и POST.
Спасибо, что прочитал тему надеюсь я объяснил всё понятно, в следующее разы я постараюсь не лить так много воды
Всем удачи!​
 
Сверху Снизу