Модератор раздела Рынок
-
Автор темы
- #1
Чтобы понимать статью надо знать хотя бы базу PHP.
Я не эксперт в PHP а лишь джун, а хейт в мою ничего не даст, всегда рад выслушать свои ошибки и улучшать контент!
Я не эксперт в PHP а лишь джун, а хейт в мою ничего не даст, всегда рад выслушать свои ошибки и улучшать контент!
Сегодня хочу поговорить на тему Фреймворка Lumen для PHP, суть его проста используют в основном для написания
Пожалуйста, авторизуйтесь для просмотра ссылки.
.Представим что вы смогли поставить себе PHP на свой PC, установили композер и создали проект. Возникает вопрос, зачем же нужна тема если есть документация? Лично для меня есть непонятные моменты, а смотреть Индусов на ломаном английском не хочется от слова совсем. Сегодня мы познакомимся с Ротуером, главный компонент без которого дальше наш код не уйдет. И так Роутер, как и с чем его едят.
Сперва поднимем локальный сервер:
Запуск:
php -S localhost:8000 -t public
CD:
cd Название вашего проекта
Живой пример:
После успешного запуска локального сервера, PHP сообщит вам об этом, вот таким сообщением:
Открываете эту ссылку в браузере и видите версию 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();
});
После чего переходим по ссылке в браузере:
Поздравляю! У вас получилось вывести время, но сейчас оно в формате
Давайте попробуем вывести читаемый формат для человека, для этого мы используем
Для начало нам нужно понять откуда брать функции для этого чуть выше ваших функций напишем строчку
После чего возвращаем из функции читаемое время, используя сам Carbon
Пожалуйста, авторизуйтесь для просмотра ссылки.
Поздравляю! У вас получилось вывести время, но сейчас оно в формате
Пожалуйста, авторизуйтесь для просмотра ссылки.
.Давайте попробуем вывести читаемый формат для человека, для этого мы используем
Пожалуйста, авторизуйтесь для просмотра ссылки.
Для начало нам нужно понять откуда брать функции для этого чуть выше ваших функций напишем строчку
Carbon:
use Carbon\Carbon;
Time:
$router->get('time', function () {
return Carbon::now();
});
Теперь обновив страницу, мы получим время в человеческом формате
Отлично! Ты снова молодец, теперь пока что можно закончить с GET и перейти к POST.
POST запрос - используется для того, чтобы отправить ту или иную информацию на ваш API, также более безопасен в отличие от GET.
Примеров использования довольно много, например это передача логина человека с вашего приложения на API.
Снова перейдем от теории к практике, т.к вы уже научились объявлять функции я пропущу этот момент.
Для начало используем стандартный класс Request
После того как вы написали данную строку над функциями открывается расширенный функционал, теперь нам доступно работа с запросами
Теперь используя функцию POST, в аргументах нашей функции объявим об использовании класса чтобы внутри самой функции можно было использовать переменную $request
Output:
"2023-01-13 21:56:43.903156 "
У нас проблемы! С этого момента я не могу прикладывать скриншотов поэтому придётся больше читать и меньше смотреть
Примеров использования довольно много, например это передача логина человека с вашего приложения на 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.
Спасибо, что прочитал тему надеюсь я объяснил всё понятно, в следующее разы я постараюсь не лить так много воды
Всем удачи!
подходит больше всего для тестирования на локальной тачке, если у вас веб сервер с доменом или айпи вы можете использовать
Пожалуйста, авторизуйтесь для просмотра ссылки.
В выбранном вами сервисом указываем ссылку (
Пожалуйста, авторизуйтесь для просмотра ссылки.
)В параметрах указываем название ключа (KEY = login) а значение (VALUE = 03O3), метод запроса указываем POST и отправляем, получаем ответ 03O3, либо то значение которое вы указали.
Всё, это успех! Ты снова молодец
Итак, подведём итоги:
Сегодня ты познакомился с фреймворком Lumen, научился делать стандартные маршруты типа GET и POST.
Спасибо, что прочитал тему надеюсь я объяснил всё понятно, в следующее разы я постараюсь не лить так много воды
Всем удачи!