Repolode
Luracast

Luracast/Restler

REST API-фреймворк для PHP 8+, который генерирует маршруты, валидацию и документацию OpenAPI по обычным методам классов с помощью рефлексии.

Звёзды
1,386
Форки
313
Открытые issues
33
Последний коммит
3 дня назад

Что это?

В Restler бизнес-логику API можно описывать обычными методами классов PHP. Фреймворк использует рефлексию и PHPDoc или атрибуты, чтобы связывать методы с HTTP-маршрутами, проверять типизированные параметры и создавать документацию OpenAPI 3.0 со встроенным обозревателем Swagger UI. Поэтому большую часть кода для маршрутизации и контроллеров не приходится писать вручную.

По умолчанию ответы возвращаются в формате JSON. После настройки можно выбирать другие форматы вывода с помощью расширений файлов, например .xml, .csv или .xlsx. Фреймворк работает под управлением PHP-FPM, на Swoole или OpenSwoole для высокопроизводительной обработки запросов с постоянными процессами, на ReactPHP и Workerman, а также на AWS Lambda через Bref. В него также входят поддержка GraphQL, примеры OAuth 2.0-сервера и ограничение частоты запросов.

Проект рассчитан на PHP 8.0 и новее и устанавливается через Composer. В README есть руководство по миграции с v5 и примеры проектов для CRUD, аутентификации, версионирования и HTML-шаблонов.

Ключевые возможности

  • 01Автоматически связывает методы классов с REST-маршрутами с помощью рефлексии
  • 02Проверяет типизированные параметры и возвращает подходящие HTTP-коды статуса
  • 03Генерирует документацию OpenAPI 3.0 по комментариям PHPDoc и отображает её в Swagger UI
  • 04По умолчанию поддерживает JSON, а после настройки — XML, CSV, XLSX, YAML и HTML
  • 05Работает на PHP-FPM, Swoole/OpenSwoole, ReactPHP, Workerman или AWS Lambda
  • 06Включает поддержку GraphQL, ограничение частоты запросов и примеры OAuth 2.0-сервера

Сценарии использования

  • Создание внутренних API или микросервисов в существующей кодовой базе на PHP
  • Передача JSON современным клиентам и XML или CSV устаревшим системам через одни и те же конечные точки
  • Экспорт больших наборов данных в CSV или Excel с помощью потоковой передачи через генераторы
  • Модернизация старого PHP-приложения путём добавления слоя REST API

Быстрый старт

  1. 1

    Установите пакет с помощью Composer

    composer require luracast/restler:^6.0
  2. 2

    Создайте класс API и шлюз public/index.php, который его сопоставляет (см. README)

  3. 3

    Запустите встроенный сервер PHP

    php -S localhost:8080 -t public

Что важно знать

  • Требуется PHP 8.0 или новее.
  • В метаданных проекта лицензия не указана.
  • В версии 6 есть несовместимые изменения по сравнению с v5, поэтому для обновления потребуется руководство по миграции.

В подборках

Темы

Частые вопросы

Что такое Restler?
REST API-фреймворк для PHP 8+, который генерирует маршруты, валидацию и документацию OpenAPI по обычным методам классов с помощью рефлексии. В Restler бизнес-логику API можно описывать обычными методами классов PHP. Фреймворк использует рефлексию и PHPDoc или атрибуты, чтобы связывать методы с HTTP-маршрутами, проверять типизированные параметры и создавать документацию OpenAPI 3.0 со встроенным обозревателем Swagger UI. Поэтому большую часть кода для маршрутизации и контроллеров не приходится писать вручную.
Restler можно использовать бесплатно? Какая у него лицензия?
У Restler не указана лицензия. Код открыт, но без лицензии нет явного разрешения на его использование — уточните у автора, прежде чем на него полагаться.
Restler всё ещё поддерживается?
Активно поддерживается. Последний коммит в Restler — 4 нояб. 2026 г..
Для чего можно использовать Restler?
Создание внутренних API или микросервисов в существующей кодовой базе на PHP Передача JSON современным клиентам и XML или CSV устаревшим системам через одни и те же конечные точки Экспорт больших наборов данных в CSV или Excel с помощью потоковой передачи через генераторы Модернизация старого PHP-приложения путём добавления слоя REST API
Как установить Restler?
Установите пакет с помощью Composer: composer require luracast/restler:^6.0 Создайте класс API и шлюз public/index.php, который его сопоставляет (см. README) Запустите встроенный сервер PHP: php -S localhost:8080 -t public
Где скачать Restler?
Исходный код и инструкции по установке — на GitHub: https://github.com/Luracast/Restler

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Гибкий ASGI-фреймворк для Python, предназначенный для создания API и включающий валидацию данных, внедрение зависимостей, генерацию OpenAPI и интеграцию с ORM.

8,5 тыс.+3 за неделю683PythonMITОбновлён 18 часов назад

Адаптер для запуска приложений Laravel и Lumen на Swoole в виде постоянно работающего PHP-сервера с поддержкой WebSocket, TCP/UDP и асинхронных задач.

3,9 тыс.463PHPMITОбновлён 5 дней назад

Symfony — PHP-фреймворк для создания веб-приложений и консольных приложений, а также набор переиспользуемых PHP-компонентов.

31,3 тыс.+114 за неделю9,9 тыс.PHPMITОбновлён 11 часов назад

Python-фреймворк для создания API со стандартными аннотациями типов, автоматической валидацией, документацией OpenAPI и высокой производительностью.

104,5 тыс.+191 за неделю10,2 тыс.PythonMITОбновлён 18 часов назад