Microframework PHP 8 con auto-routing por convención: /admin/productos/15/edit
llega solo a Admin\ProductosController::edit(15).
Con helpers en español y una arquitectura pequeña que la IA puede mantener sin reinventar rutas ni juntar todo en un archivo.
// La URL elige el controlador — no registras nada
/productos → ProductosController::index()
/productos/15/edit → ProductosController::edit(15)
/admin/notas-venta → Admin\NotasVentaController::index()
// Drivers Perú listos (carga perezosa: si no los usas, no pesan)
$r = Documento::dni('45678912'); // nombre + dirección
$r = Sunat::enviar($boleta); // XML→firma→SUNAT→CDR
Whatsapp::enviar('987654321', 'Su pedido está listo');
// Helpers en español
fecha_es('2026-07-12', true) // "Domingo, 12 de Julio de 2026"
num_letras(1234.50) // "MIL DOSCIENTOS ... 50/100 SOLES"
Elige tu tipo de negocio y las funciones que necesitas. Obtendrás un prompt listo para que la IA conserve el frontend, use el auto-routing y construya controladores, modelos y vistas pequeñas, sin inventar otro sistema.
Todo lo necesario, nada de sobrepeso
kebab-case → PascalCase, subcarpetas como módulos, parámetros numéricos automáticos. Rutas manuales solo para casos especiales.
Declara admin, pos, api en un array: login por rol, redirecciones y CSRF automático en POST.
find/where/create/update/paginate + SQL crudo parametrizado + transacciones. MySQL o SQLite.
php oxi migrate · seed · make:controller · make:model · make:migration · check — scaffolding en segundos.
Entrada por public/ con .htaccess listos. Autoloader propio: Composer es opcional, no obligatorio.
Los drivers y helpers solo se cargan si los llamas. Un sistema que no usa WhatsApp o SUNAT no paga ningún costo.
Crea el archivo en la carpeta correcta y la URL ya funciona. Sin registrar rutas,
sin YAML, sin atributos. Las áreas (admin, api, pos…)
se declaran una sola vez en config/security.php con su rol y su login.
/ → IndexController::index()
/productos → ProductosController::index()
/productos/15 → ProductosController::index(15)
/productos/create → ProductosController::create()
/productos/15/edit → ProductosController::edit(15)
/blog-posts/ultimas → BlogPostsController::ultimas()
/admin/productos → Admin\ProductosController::index()
/admin/ajustes/monedas → Admin\Ajustes\MonedasController::index()
/api/ping → Api\PingController::index() (JSON, sin CSRF)
Fechas, dinero, importes en letras para comprobantes, slugs, paginación Bootstrap, imágenes a WebP y cifrado AES. Se cargan en el bootstrap y se usan directo en controladores y vistas.
Lista completafecha_es('2026-07-12') // "12 de Julio de 2026"
fecha_relativa($f) // "Hace 3 días"
dinero(1234.5) // "S/ 1,234.50"
num_corto(3400000) // "3.4 M"
num_letras(1234.50) // "MIL DOSCIENTOS TREINTA Y CUATRO CON 50/100 SOLES"
slug('Título Ñoño') // "titulo-nono"
paginacion_links($p, $tot, url('/admin/productos'))
Imagen::optimizar($_FILES['foto'], 'productos') // → WebP optimizado
Crypto::encriptar('secreto') // AES-256
La edición Free incluye utilidades esenciales; SUNAT y los módulos comerciales completos se habilitan con OXIRA Pro.
Un solo formato de documento y tres proveedores intercambiables: Greenter (firma local con tu certificado, envío SOAP directo, guarda XML y CDR), Nubefact (API con PDF/XML/CDR) y APISPERU (API gratuita). Totales e importe en letras calculados automáticamente.
Sunat::enviar(['tipo'=>'BOL', 'serie'=>'B001', 'numero'=>123, 'cliente'=>[...], 'items'=>[...]]);
Consulta RENIEC/SUNAT vía Factiliza o apiperu.dev con respuesta normalizada: nombre completo, razón social, dirección, estado y condición.
Documento::dni('45678912'); Documento::ruc('20601234567');
Envío por API (Texvoo o wa-server genérico), enlaces
wa.me y validación de celulares peruanos. Normaliza el +51 automáticamente.
Whatsapp::enviar('987654321', 'Su pedido está listo');
Cliente SMTP nativo (SSL/STARTTLS, sin dependencias) con fallback a
mail(), y tipo de cambio SUNAT del día con caché automático.
Correo::enviar($para, $asunto, $html); TipoCambio::hoy();
Cuéntanos el rubro, la forma de vender y los módulos que necesitas. Partimos de una base comercial probada y la adaptamos sin romper el framework ni reinventar el sistema.
Tienda Pro adaptable a tu negocio mediante un prompt de alcance. Las APIs o proveedores externos pueden requerir cuentas y pagos propios.
El proceso:
.env.example a .envphp oxi make:controller y a construir