develsoft / coyote
PHP Micro Framework Leve e Completo
v2.0.1
2026-03-30 22:47 UTC
Requires
- php: >=8.1
- ext-json: *
- ext-mbstring: *
- ext-pdo: *
Requires (Dev)
- mockery/mockery: ^1.6
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2026-03-30 22:59:47 UTC
README
PHP Micro Framework Leve e Completo para desenvolvimento rápido de aplicações web modernas.
🚀 Instalação
Via Composer (Recomendado)
composer require develsoft/coyote
Instalação de Desenvolvimento
Para desenvolver o framework localmente:
# Clone o repositório git clone https://github.com/Develsoft-Oficial/coyote-framework.git cd framework # Instale dependências composer install # Configure o symlink de desenvolvimento .\scripts\setup-dev-symlink.bat # ou powershell -ExecutionPolicy Bypass -File .\scripts\setup-dev-symlink.ps1
📦 Estrutura do Pacote
src/
├── Core/ # Núcleo do framework
├── Http/ # Camada HTTP (Request, Response, Routing)
├── Database/ # ORM, Query Builder, Migrations
├── Auth/ # Sistema de autenticação
├── Validation/ # Validação de dados
├── View/ # Sistema de templates
├── Config/ # Gerenciamento de configuração
├── Log/ # Sistema de logging
├── Providers/ # Service Providers
├── Routing/ # Sistema de rotas avançado
├── Session/ # Gerenciamento de sessões
├── Forms/ # Form Builder fluente
├── Support/ # Utilitários e helpers
└── ... # Outros módulos
🎯 Primeiros Passos
1. Criar uma Aplicação
<?php // index.php require_once __DIR__ . '/vendor/autoload.php'; use Coyote\Core\Application; $app = new Application(__DIR__); // Configurar rotas $app->router->get('/', function() { return 'Olá, Coyote Framework!'; }); // Executar aplicação $app->run();
2. Configuração Básica
// config/app.php return [ 'name' => 'Minha Aplicação', 'debug' => true, 'providers' => [ Coyote\Providers\RoutingServiceProvider::class, Coyote\Providers\DatabaseServiceProvider::class, // Seus providers personalizados ], ];
3. Exemplo com Banco de Dados
use Coyote\Database\Model; class User extends Model { protected $table = 'users'; protected $fillable = ['name', 'email', 'password']; } // Criar usuário $user = User::create([ 'name' => 'João Silva', 'email' => 'joao@exemplo.com', 'password' => password_hash('senha123', PASSWORD_DEFAULT) ]); // Consultar usuários $users = User::where('active', true)->get();
🔧 Funcionalidades Principais
🏗️ Núcleo Modular
- Container de Injeção de Dependências
- Service Providers para extensibilidade
- Sistema de eventos e hooks
🌐 Camada HTTP Completa
- Request/Response PSR-7 compatível
- Sistema de rotas RESTful
- Middleware pipeline
- CSRF protection integrada
🗄️ ORM e Banco de Dados
- Query Builder fluente
- Models com relacionamentos
- Migrations e seeders
- Suporte a múltiplos bancos
🔐 Autenticação Segura
- Multi-guard (Session, Token, API)
- User providers personalizáveis
- Middleware de proteção
- Password hashing com bcrypt
✅ Validação Avançada
- 40+ regras de validação
- Form Requests para validação em controllers
- Mensagens personalizáveis
- Validação condicional
📝 Form Builder Fluente
- API declarativa para formulários
- 20+ tipos de campos
- Validação integrada
- Renderização personalizável
👁️ Sistema de Views
- Templates com sintaxe Blade-like
- Layouts e componentes
- Seções e stacks
- Compilação e cache
📚 Documentação Completa
A documentação completa está disponível em docs/ e inclui:
- 🚀 Começando: Instalação, configuração, primeiros passos
- 🏗️ Núcleo: Application, Container, Service Providers
- 🌐 HTTP: Request, Response, Routing, Controllers, Middleware
- 🗄️ Banco de Dados: Models, Query Builder, Migrations
- 🔐 Autenticação: Auth Manager, Guards, User Providers
- ✅ Validação: Validator, Rules, Form Requests
- 📝 Formulários: Form Builder, Field Types, Validation
- 👁️ Views: View Factory, Syntax, Layouts
- 🧪 Exemplos: Tutoriais completos (Blog, API REST, etc.)
🧪 Testando
# Executar testes unitários composer test # Executar testes com cobertura composer test-coverage # Executar análise estática composer analyse # Executar todos os checks composer check
🔄 Desenvolvimento
Fluxo de Desenvolvimento com Symlink
O framework suporta desenvolvimento local com symlink/junction:
- Edite os arquivos em
src/ - As mudanças são refletidas automaticamente em
test-app/vendor/develsoft/coyote/ - Teste imediatamente com a aplicação de teste
Scripts de Desenvolvimento
scripts/setup-dev-symlink.ps1- PowerShell script para Windowsscripts/setup-dev-symlink.bat- Batch script para Windowstest-app/- Aplicação de teste para validação
🤝 Contribuindo
Contribuições são bem-vindas! Por favor, leia o Guia de Contribuição antes de enviar pull requests.
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/incrivel) - Commit suas mudanças (
git commit -am 'Adiciona feature incrível') - Push para a branch (
git push origin feature/incrivel) - Abra um Pull Request
📄 Licença
O Coyote Framework é licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
🆘 Suporte
- Documentação: docs/
- Issues: GitHub Issues
- Email: dev@develsoft.com.br
Coyote Framework © 2026 - Desenvolvido com ❤️ pela comunidade PHP brasileira.