Есть много фреймворков на php, Slim относится к микрофреймворкам и когда нет необходимости поднимать большие сервисы, можно воспользоваться микрофрейморком к коим относится например Slim.
Здесь не будет сравнений и каких-то глубоких методов использований, здесь скорее описание как установить и запустить, чтобы он отдавал уже что-нибудь.
Установка
Используемая версия: 3.*
Установка достаточно простая, через composer как и описано в документации к slim.
composer require slim/slim:3.*
Запуск
index.php
use Slim\Http\Request;
use Slim\Http\Response;
require '../vendor/autoload.php';
http_response_code(500);
(function() {
$app = new Slim\App([
'settings' => [
'addContentLengthHeader' => false,
'displayErrorDetails' => (bool)getenv('APP_DEBUG'),
],
]);
$app->get('/', function (Request $request, Response $response) {
return $response->withJson([
'name' => 'Admin',
'param' => $request->getQueryParam('param')
]);
});
$app->run();
})();
Пояснения
http_response_code(500);
— используется поскольку в случае ошибки в коде, slim почему-то все равно отдает код 200 и соответственно браузер показывает пустую страницу, даже если в коде действительно не все впорядке, поэтому принудительно устанавливаем статус 500, в случае если дальнейший код выполнится, то статус будет перезаписан.
(bool)getenv('APP_DEBUG')
— берем значение из переменной окружения (файла .env или константы из docker-compose.yml) константу APP_DEBUG и в зависимости от её значения будет показывать или не показывать ошибки
'param' => $request->getQueryParam('param')
— извлечение параметра param
из строки запроса