Download & Install
We recommend you install the Slim Framework with the Composer dependency manager.
The easiest way to start working with Slim is to create a project using Slim-Skeleton as a base by running this bash command:
$ php composer.phar create-project slim/slim-skeleton:dev-master [my-app-name]
Replace [my-app-name] with the desired directory name for your new application.
You can then run it with PHP’s built-in webserver:
$ cd [my-app-name]; php -S localhost:8080 -t public public/index.php
Features
HTTP Router
Slim provides a fast and powerful router that maps route callbacks to specific HTTP request methods and URIs. It supports parameters and pattern matching.
Middleware
Build your application with concentric middleware to tweak the HTTP request and response objects around your Slim app.
PSR-7 Support
Slim supports any PSR-7 HTTP message implementation so you may inspect and manipulate HTTP message method, status, URI, headers, cookies, and body.
Dependency Injection
Slim supports dependency injection so you have complete control of your external tools. Use any PSR-11 ContainerInterface implementation.
Latest News
Jul 22, 2023
Slim 4.12.0 released
We are excited to announce the Slim 4.12.0 release. The docs are located here.
Apr 17, 2023
Security Advisory: Improper header validation in Slim-Psr7
A security issue has recently been reported in Slim-Psr7 with the handling of new lines in headers.
Nov 06, 2022
Slim 4.11.0 released
We are excited to announce the Slim 4.11.0 release. The docs are located here.
Community
You can chat with other Slim Framework developers to share code or troubleshoot tricky issues using either Slack or IRC. Our nicks are akrabat , silentworks and codeguy if you have have questions or need assistance.
Slack
IRC
The official Freenode IRC channel is #slimphp .
Support forums
We also have Discourse support forums at discourse.slimframework.com/ for when you have a more in depth question.
Newsletter
Don’t have Twitter? Join our newsletter and receive one email a week (at most) with the latest Slim Framework news, release announcements, and security updates. We hate spam, and we’ll respect your inbox. You can unsubscribe at any time.
Follow @slimphp on Twitter
Документация
Эта документация предназначена для Slim 4. Ищете документацию по Slim 3?
Добро пожаловать
Slim — это PHP микрофреймворк, который поможет вам быстро создавать простые, но мощные веб-приложения и API. По своей сути, Slim просто диспетчер, который получает HTTP-запрос, вызывает соответствующий обработчик и возвращает HTTP-ответ. Вот и все.
В чем смысл?
Slim — это идеальный инструмент для создания API-интерфейсов, которые используют, обрабатывают или публикуют данные. Также Slim отлично подходит для быстрого прототипирования. Черт, вы даже можете создать полнофункциональный веб приложения с пользовательскими интерфейсами. Что еще более важно, Слим очень быстрый и имеет очень мало кода. Фактически, вы можете читать и понимать его исходный код всего за день!
По своей сути, Slim просто диспетчер, который получает HTTP-запрос, вызывает соответствующий обработчик и возвращает HTTP-ответ. Вот и все.
Вам не всегда нужен кухонный комбайн вроде Symfony или Laravel. Это несомненно отличные инструменты, но они сликом переполнены излишним функционалом. Slim же, наоборот, предоставляет минимальный набор нужных инструментов, и не более того.
Как это работает?
Во-первых, вам нужен веб-сервер, такой как Nginx или Apache. Вы должны настроить свой веб-сервер так, чтобы он отправлял все соответствующие запросы в один файл PHP «фронт-контроллер». Вы создаете экземпляр приложения Slim и запускаете свое его в этом файле.
Приложение Slim содержит маршруты, отвечающие определенным HTTP-запросам. Каждый маршрут вызывает обработчик и возвращает HTTP-ответ. Чтобы начать работу, сначала создайте экземпляр приложения и настройте приложение Slim. Затем вы определяете маршруты своего приложения. Наконец, вы запускаете приложение. Всё просто. Вот пример приложения:
addRoutingMiddleware(); /** * Add Error Handling Middleware * * @param bool $displayErrorDetails -> Should be set to false in production * @param bool $logErrors -> Parameter is passed to the default ErrorHandler * @param bool $logErrorDetails -> Display error details in error log * which can be replaced by a callable of your choice. * Note: This middleware should be added last. It will not handle any exceptions/errors * for middleware added after it. */ $errorMiddleware = $app->addErrorMiddleware(true, true, true); // Define app routes $app->get('/hello/', function (Request $request, Response $response, $args) < $name = $args['name']; $response->getBody()->write("Hello, $name"); return $response; >); // Run app $app->run();
Запрос и ответ
Когда вы создаете приложение Slim, вы часто работаете непосредственно с объектами запроса и ответа. Эти объекты представляют собой фактический HTTP-запрос, полученный веб-сервером, и возможный HTTP-ответ, возвращаемый клиенту.
Каждому маршруту Slim-приложения присваиваются текущие объекты запроса и ответа в качестве аргументов его обработчика. Эти объекты реализуют популярные интерфейсы PSR-7. Маршрут Slim-приложения может проверять или манипулировать этими объектами по мере необходимости. В конечном счете, каждый маршрут приложения Slim ДОЛЖЕН вернуть объект PSR-7 совместимого ответа.
Принесите свои собственные компоненты
Slim также хорошо работает с другими компонентами PHP. Вы можете зарегистрировать дополнительные сторонние компоненты, такие как Slim-Csrf, Slim-HttpCache или Slim-Flash, которые основываются на функциональных возможностях Slim по умолчанию. Также легко интегрировать сторонние компоненты, найденные в Packagist.
Как читать эту документацию
Новичкам в Slim я рекомендую читать эту документацию от начала до конца. Если вы уже знакомы с фреймворком, то можете сразу перейти в соответствующий раздел.
Прежде чем вникать в конкретные темы (такие, как обработка запросов и ответов, маршрутизация и обработка ошибок), данная документация объясняет концепцию и архитектуру Slim.
Лицензия документации
Этот сайт и документация лицензированы Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Документация
Эта документация предназначена для Slim 3. Документацию по Slim 2 можно найти на slimframework.com.
Добро пожаловать
Slim — это микроструктура PHP, которая помогает быстро писать простые, но мощные веб-приложения и API. По сути, Slim — диспетчер, который получает HTTP-запрос, вызывает соответствующую процедуру обратного вызова и возвращает HTTP-ответ. Вот и все.
В чем смысл?
Slim — идеальный инструмент для создания API-интерфейсов, которые потребляют, перенастраивают или публикуют данные. Slim — отличный инструмент для быстрого прототипирования. Черт, вы даже можете создавать полнофункциональные веб-приложения с пользовательскими интерфейсами. Что еще более важно, Slim очень быстрый и имеет очень мало кода. Фактически, вы можете читать и понимать его исходный код только днем (!in only an afternoon!)
По сути, Slim — диспетчер, который получает HTTP-запрос, вызывает соответствующую процедуру обратного вызова и возвращает HTTP-ответ. Вот и все.
Вам не всегда нужно kitchen-sink решение , например, Symfony или Laravel. Это отличные инструменты, конечно. Но они часто переполняются. Вместо этого Slim предоставляет только минимальный набор инструментов, которые делают то, что вам нужно, и ничего больше.
Как это работает?
Во-первых, вам нужен веб-сервер, такой как Nginx или Apache. Вы должны настроить свой веб-сервер так, чтобы он отправлял все соответствующие запросы в один файл PHP «front-controller». Вы создаете экземпляр и запускаете свое приложение Slim в этом файле PHP.
Приложение Slim содержит маршруты, отвечающие определенным HTTP-запросам. Каждый маршрут вызывает обратный вызов и возвращает HTTP-ответ. Чтобы начать работу, сначала создайте экземпляр и настройте приложение Slim. Затем вы определяете маршруты своего приложения. Наконец, вы запускаете приложение Slim. Это так просто. Вот пример приложения:
[ 'addContentLengthHeader' => false, ]]; $app = new \Slim\App($config); // Define app routes $app->get('/hello/', function ($request, $response, $args) < return $response->write("Hello " . $args['name']); >); // Run app $app->run();
Запрос и ответ
Когда вы создаете Slim-приложение, вы часто работаете непосредственно с объектами Request and Response. Эти объекты представляют собой фактический HTTP-запрос, полученный веб-сервером, и возможный HTTP-ответ, возвращаемый клиенту.
Каждому маршруту Slim-приложения присваиваются текущие объекты Request and Response в качестве аргументов его подпрограммы обратного вызова. Эти объекты реализуют популярные интерфейсы PSR 7. Slim route приложения может проверять или манипулировать этими объектами по мере необходимости. В конечном счете, каждый маршрут приложения Slim MUST возвращать ответ PSR 7 объекта.
Принесите свои собственные компоненты
Slim также хорошо сочетается с другими компонентами PHP. Вы можете зарегистрировать дополнительные сторонние компоненты, такие как Slim-Csrf, Slim-HttpCache, или Slim-Flash которые основываются на функциональных возможностях Slim по умолчанию. Также легко интегрировать сторонние компоненты, найденные в Packagist.
Как читать эту документацию
Если вы новичок в Slim, я рекомендую вам прочитать эту документацию от начала до конца. Если вы уже знакомы с Slim, вы можете перейти прямо в соответствующий раздел.
Эта документация начинается с объяснения концепций и архитектуры Slim, прежде чем вникать в конкретные темы, такие как обработка запросов и ответов, маршрутизация и обработка ошибок.
При подготовке материала использовались источники:
https://www.slimframework.com/
https://www.slimframework.ru/v4
https://www.slimframework.ru/