gabogalro/redstonephp

Ultra-lightweight PHP microframework for API microservices. SQL-first. Stored Procedures as first-class citizens.

Maintainers

Package info

github.com/EduardoGalindo25/redstonephp

pkg:composer/gabogalro/redstonephp

Transparency log

Statistics

Installs: 6

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

v2.1.0 2026-08-07 13:19 UTC

This package is auto-updated.

Last update: 2026-08-07 13:20:45 UTC


README

Microframework PHP para APIs de microservicios. SQL-first, sin ORM, con los stored procedures como ciudadanos de primera clase.

RedstonePHP rompe con el paradigma MVC tradicional para introducir PSC (Procedure-Service-Controller): un patrón pensado para equipos que prefieren SQL directo y stored procedures sobre ORMs pesados como Eloquent, sin renunciar a una estructura clara, tipado fuerte y DI.

Controller (ciego)  ->  Service (orquesta)  ->  Repository / StoredProcedure (ejecuta)

¿Por qué RedstonePHP?

Problema Solución
Los frameworks fullstack son pesados para microservicios Sin views, sin ORM, enfocado solo en APIs
Los ORMs ocultan la complejidad SQL y generan queries ineficientes SQL directo + Query Builder ligero + Stored Procedures
Los SPs se crean a mano en cada ambiente Migraciones de Stored Procedures rastreadas por checksum
Desplegar cambios en SPs es manual php forge migrate:procedures sincroniza automáticamente

Instalación

composer create-project gabogalro/redstonephp-app mi-api
cd mi-api
cp .env.example .env
php forge key:generate
php forge migrate
php forge serve

Componentes principales

  • Core: Container de DI con autowiring por Reflection, Application, ServiceProvider, Facade (estilo Laravel).
  • Routing: Router con grupos, parámetros con nombre, pipeline de middlewares "en cebolla".
  • Http: Request con soporte unificado para JSON, form-data y multipart (incluye archivos); Response con envelope JSON consistente.
  • Database: Connection (PDO con prepared statements reales), DB facade, Query Builder fluido, migraciones de tablas estilo Laravel (Schema/Blueprint).
  • Procedure: StoredProcedure como clase base y ProcedureMigrator, el diferenciador del framework — migraciones .sql puras rastreadas por checksum MD5.
  • Validation: DSL de reglas ('campo' => 'required|string|max:255') integrado con FormRequest.
  • Auth — Ingot + Netherite: autenticación JWT propia (HS256/384/512, sin dependencias externas) más un Bearer token opaco respaldado en BD, middleware Netherite generado en la app consumidora.
  • Cache: driver de BD con TTL, prefijo y limpieza probabilística de expirados.
  • Log: logs diarios por nivel (debug..critical).
  • Exceptions: HttpException + Handler con salida distinta en debug on/off.
  • CLI forge: generadores (make:api, make:controller, make:migration, make:procedure, make:sp, ...), migraciones (migrate, migrate:tables, migrate:procedures), ingot:install, serve, key:generate, cache:clear, route:list.

CLI rápido

php forge make:api Employee        # Controller + Service + Repository + DTO + Mapper + Requests + Exception
php forge make:migration create_employees_table
php forge make:procedure register_employee --type=insert
php forge migrate                  # tablas + stored procedures, en orden
php forge ingot:install            # scaffold completo de auth JWT + Bearer
php forge route:list

Desarrollo del framework

composer install
composer test   # Pest — requiere MySQL local (ver phpunit.xml)
composer stan    # PHPStan nivel 5

Licencia

MIT © Eduardo Gabriel Galindo Romero