Belta es un micro-framework escrito en PHP, diseñado para modernizar entornos Legacy (PHP 5.3+). Implementa una arquitectura MVC estricta, inyección de dependencias ligera, base de datos SQLite y un sistema único de herencia de plantillas Twig y remotas vía API, Skeleton, optimizado para la gestión de landings y microsites corporativos de Vocento.
- Update: Configuramos las rutas de la App.
- Fix: Ajustaremos el BASE_PATH en el
index.phpy el RewriteBase en el.htaccesscon la carpeta del servidor.
- Fix: Corregimos Readme.md.
- Update: Versión y Shields.
Update: Primer commit de Belta.
Plaintext
/
├── app/
│ ├── controllers/ # Lógica de las rutas
│ ├── models/ # Clases de datos y lógica de negocio
│ ├── views/ # Plantillas Twig locales (.twig)
│ ├── config/ # Contiene routes.php para el manejo de URLs.
│ ├── db/ # Almacén de caché de la API (JSON/HTML)
│ └── cache/ # Almacena logs y la compilación de Twig
├── core/
│ ├── Router.php # Sistema de rutas
│ ├── Request.php # Captura y limpieza de datos (XSS protection)
│ ├── Response.php # Manejo de salidas y cabeceras
│ ├── View.php # Renderizador estándar
│ ├── Curl.php # Cliente HTTP para peticiones externas
│ └── ViewSkeleton.php# Renderizador con Skeleton
├── public/
│ ├── assets/ # Activos estáticos (CSS, JS, IMG)
│ └── index.php # Punto de entrada único
└── vendor/ # Librerías externas (Twig 1.x)
Permite que el diseño base (cabeceras, menús, footers) se gestione externamente mediante una API.
- Clase
ViewSkeleton: Orquestador que une el HTML remoto con las vistas locales. - Estrategia de Caché:
- Caché de Red: El HTML de la API se guarda en
app/cachepor 1 hora. - Caché de Twig: Las vistas se compilan a PHP en
app/cache/para rendimiento máximo.
- Caché de Red: El HTML de la API se guarda en
Gestiona la entrada de datos asegurando que nada "sucio" llegue a la lógica:
- Sanitización automática: Uso de
strip_tagsyhtmlspecialcharsen todos los métodosinput()yquery(). - Persistencia: Mantenimiento del estado del método HTTP y la URI.
Diseñada para superar las limitaciones de PHP 5.3 con protocolos HTTPS modernos (TLS 1.2+):
- SSL Bypass: Configurada para ignorar validaciones de certificados locales desactualizados.
- Resiliencia: Tiempos de espera configurados para no bloquear el servidor si la API externa falla.
Soporta almacenamiento de datos mediante una base de datos SQLite:
- Models: Genera un modelo de datos para cada tabla.
- Integración: utiliza los datos almacenados en las tablas, en las visualizaciones Twig.
- PHP 5.3.
- Extensión
php_curlhabilitada. - Permisos de escritura en
app/cache/. - Apache con mod_rewrite.c.
Es vital registrar el sistema de carga de Belta:
PHP
spl_autoload_register(function ($class) use ($baseDir) {
$paths = array(
$baseDir . '/core/',
$baseDir . '/app/controllers/',
$baseDir . '/app/models/'
);
foreach ($paths as $path) {
$file = $path . $class . '.php';
if (file_exists($file)) {
require_once $file;
return;
}
}
});
PHP
$router->get('/', function($request) {
$controller = new HomeController();
return $controller->index($request);
});
PHP
class HomeController {
public function index($request) {
// Aquí podrías llamar a un modelo, por ejemplo:
// $novedades = Landing::getRecent();
$data = array(
'version' => 'v1.0.5 Stable',
'titulo' => 'Belta Framework',
'descripcion' => 'La solución micro-framework MVC ultra-ligero desarrollado en PHP 5.3.'
);
// Usamos View para la Home
return View::render('landings/home_belta', $data);
}
}
Twig
{% extends "layouts/landing_base.twig" %}
{% block content %}
{% endblock %}
- Protección XSS: Activada por defecto en la clase
Request. - Zero Latency: Tras la primera carga, la aplicación no realiza peticiones externas de red hasta que expire la caché del skeleton, sirviendo la página desde el sistema de archivos local.
Desarrollado por Antonio Horrillo Horrillo. ahorrillo@hoy.es | tuanhorrillo@gmail.com | GitHub | LinkedIn
Proyecto creado y mantenido por Antonio Horrillo Horrillo, responsable Analista, SEO Técnico y Desarrollo.
Este software ha sido desarrollado por y para el uso exclusivo de las cabeceras y servicios del grupo Vocento.
-Propiedad: © 2026 Vocento. Todos los derechos reservados. -Licencia: Privativa (uso interno).
Queda estrictamente prohibida la reproducción, distribución, modificación o comunicación pública, total o parcial, de este código fuente a terceros ajenos al Grupo Vocento sin el consentimiento expreso y por escrito de la dirección tecnológica.
