Загрузка...

Slim. Start

Область применения

Вы можете использовать Slim для решения задач, когда:
1) Вам не подходят полноценные фреймворки Laravel или Symfony
2) Вы хотите создать максимально легкое приложение в максимально быстрый срок
3) Требуется гибкое решение, которое не может предложить другой фреймворк или готовый пакет.

Вы можете использовать Slim в любых других ситуациях, но в 3х перечисленных выше, использование Slim’а будет наиболее обосновано.

Установка

 

Для установки Slim рекомендуется использовать Composer .

$ composer require slim/slim

Это установит Slim и все необходимые зависимости. Slim требует PHP 7.4 или новее.

Выберите реализацию PSR-7 и создатель ServerRequest

 

Прежде чем вы сможете приступить к работе с Slim, вам нужно будет выбрать реализацию PSR-7, которая лучше всего подходит для вашего приложения. Несколько примечательных:

  • Slim-Psr7 — это реализация Slim Framework PSR-7.
  • httpsoft/http-message и httpsoft/http-server-request — это самая быстрая, самая строгая и самая легкая из доступных реализаций.
  • Nyholm/psr7 и Nyholm/psr7-server — производительность почти такая же, как у реализации HttpSoft.
  • Guzzle/psr7 — это реализация, используемая клиентом Guzzle, с дополнительными функциями для обработки потоков и файлов.
  • laminas-diactoros — это реализация Laminas (Zend) PSR-7.

Рекомендую использовать Slim-Psr7 или Guzzle/psr7 

Декораторы Slim-Http

Slim-Http — это набор декораторов для любой реализации PSR-7, которую мы рекомендуем использовать с Slim Framework. Чтобы установить библиотеку Slim-Http, просто выполните следующую команду:

composer require slim/http
Декораторы объектов ServerRequestи Responseавтоматически обнаруживаются и применяются внутренними фабриками. Если вы установили Slim-Http и хотите отключить автоматическое оформление объектов, вы можете использовать следующие инструкции:
<?php

use Slim\Factory\AppFactory;
use Slim\Factory\ServerRequestCreatorFactory;

AppFactory::setSlimHttpDecoratorsAutomaticDetection(false);
ServerRequestCreatorFactory::setSlimHttpDecoratorsAutomaticDetection(false);

$app = AppFactory::create();

// ...

Привет, мир, используя AppFactory с автоматическим обнаружением PSR-7

 

Чтобы автоматическое обнаружение работало и позволяло использовать AppFactory::create()без App::run()необходимости создания файла вручную, ServerRequestвам необходимо установить одну из следующих реализаций:

Затем создайте файл public/index.php .

<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;

require __DIR__ . '/../vendor/autoload.php';

// Instantiate App
$app = AppFactory::create();

// Add error middleware
$app->addErrorMiddleware(true, true, true);

// Add routes
$app->get('/', function (Request $request, Response $response) {
    $response->getBody()->write('<a href="/hello/world">Try /hello/world</a>');
    return $response;
});

$app->get('/hello/{name}', function (Request $request, Response $response, $args) {
    $name = $args['name'];
    $response->getBody()->write("Hello, $name");
    return $response;
});

$app->run();

Вы можете быстро проверить это, используя встроенный PHP-сервер:

$ php -S localhost:8000 -t public

При переходе по адресу http://localhost:8000/hello/world теперь будет отображаться надпись «Hello, world».

Дополнительную информацию о настройке веб-сервера см. в документации .

Тесты

Чтобы выполнить набор тестов, вам необходимо установить все зависимости разработки.

$ git clone https://github.com/slimphp/Slim
$ composer install
$ composer test

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *