Slim — PHP микрофреймворк

Есть много фреймворков на 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 из строки запроса

Leave a comment

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.