Download the PHP package dr2gsistemas/xpress without Composer
On this page you can find all versions of the php package dr2gsistemas/xpress. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dr2gsistemas/xpress
More information about dr2gsistemas/xpress
Files in dr2gsistemas/xpress
Package xpress
Short Description Router REST API ligero para PHP 8.4 con sintaxis estilo Express.js
License MIT
Homepage https://github.com/dr2gsistemas/xpress
Informations about the package xpress
Xpress - Router REST API para PHP 8.4
Xpress es un router ligero para crear APIs REST con PHP 8.4, inspirado en la sintaxis de Express.js para Node.js. Utiliza atributos PHP para definir rutas de forma limpia y declarativa.
Características
- Sintaxis estilo Express.js - API familiar para desarrolladores de Node.js
- Atributos PHP 8.4 - Definiciones de rutas limpias y declarativas
- Sistema de middlewares encadenables - Auth, logging, CORS, rate limiting, etc.
- Compatible con PSR-7 - Totalmente compatible con el estándar de mensajes HTTP
- Mínimo de dependencias - Solo requiere
psr/http-messageyguzzlehttp/psr7 - Helpers para respuestas rápidas - Funciones globales para json(), text(), html(), etc.
Requisitos
- PHP 8.4 o superior
psr/http-message: ^2.0guzzlehttp/psr7: ^2.0
Instalación
CLI - Herramienta de Línea de Comandos
Xpress incluye un CLI para ayudarte con la configuración y desarrollo.
Comandos Disponibles
| Comando | Descripción |
|---|---|
xpress htaccess |
Genera archivo .htaccess para Apache |
xpress serve |
Inicia servidor de desarrollo PHP |
xpress init |
Inicializa estructura de proyecto |
xpress route:list |
Lista rutas registradas |
xpress help |
Muestra ayuda |
Generar .htaccess
Archivo .htaccess generado:
Iniciar Servidor de Desarrollo
Salida:
Inicializar Proyecto
Crea:
Listar Rutas
Uso Básico
1. Instalación con Composer y estructura del proyecto
2. Punto de entrada (public/index.php)
3. Definir rutas (src/routes.php)
Controladores con Atributos
Estructura de controlador
Registrar controladores
Middlewares
Middleware de autenticación
Middleware de logging
Middleware de rate limiting
Middleware CORS
Usar middlewares
Grupos de Rutas
Grupo con middlewares compartidos
API Reference
XRouter
XRequest
XResponse
Funciones Helper
Ejemplo Completo de API
Probar la API
Testing
Patrón Result
Xpress incluye un patrón Result para manejar respuestas de forma funcional, inspirado en Rust y Haskell. Permite retornar éxito o error de manera uniforme y encadenable.
XResult
XError - Helpers de Códigos HTTP
Métodos de XResult
Encadenamiento Funcional
Convertir a Response
Trait XResultController
Usa el trait en controladores para helpers integrados:
Helpers de Result
Ejemplo Completo con Result
Compatibilidad hacia atrás
Los controladores pueden retornar XResponse directamente si no usan el patrón Result:
Códigos de Estado HTTP
| Código | Nombre | Uso común |
|---|---|---|
| 200 | OK | Respuesta exitosa |
| 201 | Created | Recurso creado |
| 204 | No Content | Eliminado sin contenido |
| 400 | Bad Request | Datos inválidos del cliente |
| 401 | Unauthorized | Sin autenticación |
| 403 | Forbidden | Sin permisos |
| 404 | Not Found | Recurso no existe |
| 409 | Conflict | Conflicto de datos |
| 422 | Unprocessable Entity | Validación fallida |
| 429 | Too Many Requests | Rate limit excedido |
| 500 | Internal Server Error | Error del servidor |
Licencia
MIT License - ver archivo LICENSE para más detalles.
Contributing
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcion) - Commit tus cambios (
git commit -am 'Agregar nueva función') - Push a la rama (
git push origin feature/nueva-funcion) - Crea un Pull Request