Loading repository data…
Loading repository data…
faustinopsy / repository
Framework feito em casa para conectar a um banco de dados existente e gerar rapidamente todas as classes modelo, todas classes repositóries, e todas as classes controllers com base nos métodos da repositórios, fornecendo uma API base pronta para uso.
FastBackPHP é uma automação simplificada para conectar-se a um banco de dados existente e abstrair todas as tabelas em modelos (models), controladores (controllers) e repositórios (repositories). Inspirado em ferramentas como PHPMaker, Scriptcase, e Laravel Nova, este micro-framework foi projetado para facilitar a criação de APIs REST com suporte a um sistema de rotas integrado.
FastBackPHP foi criado para desenvolvedores que desejam automatizar a construção de APIs REST para aplicações que já possuem um banco de dados estruturado. A ferramenta abstrai a lógica básica e permite que você se concentre em customizar a lógica de negócios ou nos endpoints necessários.
Configuração de Banco de Dados
Config.Geração de Código
Sistema de Rotas
Flexibilidade
Clone o repositório ou baixe os arquivos:
git clone https://github.com/faustinopsy/PHPCrudMVC-v7
Instale as dependências via Composer:
composer install
Execute o CLI (Terminal/Promp):
php Fast.php
Siga as instruções no terminal:
Ao executar php Fast.php, você verá as seguintes opções no terminal:
Configurar Banco de Dados:
Config para conexão e geração de código.Gerar Models:
Gerar Repositories:
Gerar Controllers:
Subir o servidor embutido:
Sair:
O FastBackPHP utiliza Attributes (um recurso do PHP 8+) para um roteamento declarativo e limpo, inspirado em frameworks modernos. Em vez de um arquivo de rotas gigante, cada rota é definida diretamente acima do método do controller que ela executa.
Quando você gera os controllers, a ferramenta inspeciona os métodos públicos da classe de repositório correspondente e cria um método no controller para cada um, adicionando um atributo #[Router(...)] acima dele.
Exemplo de um UsersController.php gerado:
<?php
namespace Fast\Back\Controllers;
use Fast\Back\Repositories\UsersRepository;
use Fast\Back\Rotas\Router;
class UsersController
{
private $repository;
public function __construct() {
$this->repository = new UsersRepository();
}
// Rota para buscar todos os usuários
#[Router('/users', methods: ['GET'])]
public function findAll() {
// ...
}
// Rota para buscar um usuário específico pelo ID
#[Router('/users/{id}', methods: ['GET'])]
public function findById($id) {
// ...
}
// Rota para criar um novo usuário
#[Router('/users', methods: ['POST'])]
public function create($data) {
// ...
}
}
#[Router(...)]: É o atributo que define o endpoint.
'/users/{id}': É o caminho (path) da rota. Partes entre chaves, como {id}, são parâmetros dinâmicos que são passados para o método.
methods: ['GET']: É o verbo HTTP permitido para esta rota.
O framework lê esses atributos automaticamente e direciona as requisições para o método correto.
Após gerar o código e iniciar o servidor (php Fast.php > opção 5), você pode usar qualquer cliente HTTP (como Postman, Insomnia, ou o bom e velho curl) para interagir com seus novos endpoints.
Listar todos os usuários (GET)
curl -X GET http://localhost/users
Buscar o usuário com ID 1 (GET com parâmetro)
curl -X GET http://localhost/users/1
Criar um novo usuário (POST com corpo JSON)
curl -X POST \
http://localhost:8080/users \
-H 'Content-Type: application/json' \
-d '{
"email": "novo.usuario@example.com",
"password_hash": "um_hash_de_senha_muito_seguro"
}'
Contribuições são bem-vindas! Caso tenha sugestões ou encontre bugs, abra uma issue ou envie um pull request no repositório oficial.
Se por algum motivo esse pacote é útil, deixe uma doação para eu melhorar isso colocando outra camada que leverá muito temp ode desenvolvimento, mas a outra camada é um frontend para cada controller, com autenticação e autorização.
FastBackPHP é distribuído sob a licença MIT. Veja o arquivo LICENSE para mais informações.