Open source
FacilPHP
Um arquivo, um endpoint.
Microframework PHP com roteamento baseado em arquivos, para criar APIs e aplicações fullstack rápido, sem boilerplate pesado.
Sobre o projeto
O que é o FacilPHP
O Facil é um microframework PHP com roteamento baseado em arquivos, inspirado no Next.js e voltado ao desenvolvimento rápido de APIs e aplicações fullstack. Sem boilerplate pesado: para ter um endpoint, basta criar um arquivo na pasta routes/.
Além das rotas, ele traz o essencial de uma aplicação: requisição e resposta, validação, banco de dados com um MicroORM, migrations para SQLite, autenticação por sessão, views e proteções de segurança.
Recursos
O que o FacilPHP faz
Roteamento por arquivos
routes/api/users.php responde em /api/users e routes/users/[id].php recebe o parâmetro da URL. Cada arquivo retorna os métodos HTTP mapeados a funções.
Requisição, resposta e views
Request e Response com leitura de JSON ou form-data, variáveis de ambiente pelo .env e views HTML/PHP.
Validação com pipes
Regras como min, max, in, match, password, email, url, cpf e cnpj, combinadas com o caractere |.
Banco e Query Builder
Wrapper sobre o PDO com prepared statements e um MicroORM fluente: where, update, delete, paginação e eager loading com with().
Migrations
Schema Builder com foco em SQLite, executado com php migrate.php.
Segurança embutida
Autenticação por sessão, proteção CSRF, CORS, headers contra XSS e clickjacking e upload com validação de extensão e tamanho.
FAQ
Perguntas frequentes
Como crio um projeto?
Pelo Composer: composer create-project rodrigocborges/facilphp my-app. Depois, composer run start-dev sobe o servidor em localhost:8000.
Como funcionam as rotas dinâmicas?
O nome do arquivo usa colchetes: routes/users/[id].php. O parâmetro da URL chega à função como argumento.
Que versão do PHP é preciso?
O badge do README indica PHP 8.1 ou mais novo.
O que o MicroORM faz?
É um Query Builder fluente, com insert, select, where, update, delete, paginação (data e meta) e eager loading com with().
Qual é a licença?
MIT.
Continue explorando
Veja também
ProtonUnity
Framework open source para criar jogos online na Unity exportados para WebGL, usando WebRTC e PeerJS.
Ver projeto Open sourcefacil.js
Biblioteca JavaScript leve que reúne manipulação do DOM, requisições HTTP, validação de formulários, reatividade e roteador SPA.
Ver projeto Open sourceFacilChrome
Biblioteca zero-build que envolve as APIs do Chrome em Promises e organiza o código das extensões por contexto de execução.
Ver projeto