Ваш первый маршрут
Этот урок превращает пустое приложение в небольшой HTTP-сервис.
Подготовка проекта
Следуйте руководству по установке, чтобы создать отдельное приложение. Запустите его командой php elang serve.
Определение маршрута
Замените содержимое routes/web.php следующим кодом:
<?php
declare(strict_types=1);
use Elang\Http\Response;
$router->get('/', fn () => Response::html('<h1>Hello, Elang.</h1>'), 'home');
$router->get('/hello/{name}', fn (string $name) => ['message' => 'Hello, '.$name.'!'], 'hello');
Откройте /hello/Ada. Вы должны получить {"message":"Hello, Ada!"}.
Проверка поведения
Откройте неизвестный URL и убедитесь, что получен ответ 404. Отправьте POST на /hello/Ada и убедитесь в ответе 405. Выполните php elang routes, чтобы просмотреть зарегистрированные методы.
Попробуйте самостоятельно
Добавьте маршрут /status, который возвращает массив с status и именем приложения. Когда оба маршрута заработают, переходите к уроку по JSON API.
Где должна находиться каждая строка
Определения маршрутов размещаются в routes/web.php вашего приложения, а не в каталоге исходного кода фреймворка. Файл начальной загрузки создаёт $router до загрузки этого файла. Сервер разработки направляет запросы через public/index.php.
Не нужно повторно подключать vendor/autoload.php внутри файла маршрутов; публичная точка входа уже загрузила Composer. Инструкция use сокращает имя класса, а Composer находит установленный класс.
Ожидаемые ответы
При открытии / отображается HTML-заголовок. Открытие /hello/Ada возвращает JSON с Content-Type: application/json. Исходный код PHP выполняется сервером; браузер никогда не должен получать список каталога или необработанный файл маршрутов.
Если браузер скачивает исходный код PHP или отображает его как текст, остановитесь и исправьте обработчик PHP веб-сервера. Если сервер в терминале не запущен, браузер не сможет обратиться к локальному приложению.