Repolode
Luracast

Luracast/Restler

Framework REST API para PHP 8+ que gera rotas, validações e documentação OpenAPI a partir de métodos comuns de classes usando reflection.

Estrelas
1,386
Forks
313
Issues abertas
33
Último commit
anteontem

O que é?

O Restler permite escrever a lógica da API em métodos comuns de classes PHP. Ele usa reflection e PHPDoc ou attributes para mapear métodos a rotas HTTP, validar parâmetros tipados e gerar documentação OpenAPI 3.0 com um explorador Swagger UI integrado, evitando que boa parte da configuração de rotas e controllers precise ser escrita manualmente.

Por padrão, as respostas são em JSON, e extensões de arquivo como .xml, .csv ou .xlsx podem selecionar outros formatos de saída depois de configurados. O framework pode rodar em PHP-FPM, Swoole ou OpenSwoole para atender a um alto volume de requisições de forma persistente, ReactPHP, Workerman ou AWS Lambda por meio do Bref. Também inclui suporte a GraphQL, exemplos de servidor OAuth 2.0 e limitação de taxa.

O projeto requer PHP 8.0 ou posterior e é instalado com Composer. O README inclui um guia de migração da v5 e projetos de exemplo que abrangem CRUD, autenticação, versionamento e templates HTML.

Recursos principais

  • 01Mapeia automaticamente métodos de classes para rotas REST usando reflection
  • 02Valida parâmetros tipados e retorna os códigos de status HTTP apropriados
  • 03Gera documentação OpenAPI 3.0 a partir de comentários PHPDoc com Swagger UI
  • 04Oferece suporte a JSON por padrão e a XML, CSV, XLSX, YAML e HTML quando configurados
  • 05Roda em PHP-FPM, Swoole/OpenSwoole, ReactPHP, Workerman ou AWS Lambda
  • 06Inclui suporte a GraphQL, limitação de taxa e exemplos de servidor OAuth 2.0

Casos de uso

  • Criar APIs internas ou microsserviços em uma base de código PHP existente
  • Servir JSON a clientes modernos e XML ou CSV a sistemas legados pelos mesmos endpoints
  • Exportar grandes conjuntos de dados como CSV ou Excel usando streaming com generators
  • Modernizar uma aplicação PHP antiga adicionando uma camada de API REST

Início rápido

  1. 1

    Instale o pacote com o Composer

    composer require luracast/restler:^6.0
  2. 2

    Crie uma classe API e um gateway public/index.php que a mapeie (consulte o README)

  3. 3

    Inicie o servidor PHP integrado

    php -S localhost:8080 -t public

Antes de usar

  • Requer PHP 8.0 ou mais recente.
  • Nenhuma licença está especificada nos metadados do projeto.
  • A versão 6 traz mudanças incompatíveis com a v5; por isso, a atualização requer o guia de migração.

Em coleções

Tópicos

Perguntas frequentes

O que é Restler?
Framework REST API para PHP 8+ que gera rotas, validações e documentação OpenAPI a partir de métodos comuns de classes usando reflection. O Restler permite escrever a lógica da API em métodos comuns de classes PHP. Ele usa reflection e PHPDoc ou attributes para mapear métodos a rotas HTTP, validar parâmetros tipados e gerar documentação OpenAPI 3.0 com um explorador Swagger UI integrado, evitando que boa parte da configuração de rotas e controllers precise ser escrita manualmente.
Restler é gratuito? Qual é a licença?
Restler não declara licença. O código é público, mas sem licença você não tem permissão explícita para reutilizá-lo; fale com o autor antes de depender dele.
Restler ainda é mantido?
Manutenção ativa. O último commit de Restler foi em 4 de nov. de 2026.
Para que posso usar Restler?
Criar APIs internas ou microsserviços em uma base de código PHP existente Servir JSON a clientes modernos e XML ou CSV a sistemas legados pelos mesmos endpoints Exportar grandes conjuntos de dados como CSV ou Excel usando streaming com generators Modernizar uma aplicação PHP antiga adicionando uma camada de API REST
Como instalar Restler?
Instale o pacote com o Composer: composer require luracast/restler:^6.0 Crie uma classe API e um gateway public/index.php que a mapeie (consulte o README) Inicie o servidor PHP integrado: php -S localhost:8080 -t public
Onde consigo Restler?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Luracast/Restler

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados