Inglés
💬
Chatqueesbitcoin.net
💬
Chattienda.extralab.net

¿Qué es extFW?

extFW es un microframework modular para PHP que permite construir sitios web y APIs de forma sencilla, sin necesidad de usar un sistema MVC tradicional. Se basa en la carga dinámica de módulos, temas y salidas (outputs), permitiendo estructurar un proyecto por carpetas con una lógica intuitiva y flexible.

Filosofía del sistema

  • Mínimo código para hacer módulos funcionales
  • URL limpias, sin necesidad de definir rutas
  • Separación clara entre lógica (módulos), presentación (temas) y datos (outputs)
  • Todo lo que puede estar en una carpeta, lo está

Ventajas sobre sistemas MVC

  • No requiere definir rutas ni controladores
  • Cada módulo es autónomo y autoejecutable
  • Agregar un nuevo módulo o output es tan simple como copiar una carpeta
  • Ideal para sitios pequeños y medianos que necesitan flexibilidad sin sobreestructura

¿Se parece WordPress?

  • Es mucho más ligero y rápido que WordPress
  • Sin base de datos impuesta: puede usar MySQL, SQLite, Oracle, etc. o incluso sin base de datos.
  • Respeta las "Formas normales de bases de datos". Wp no lo hace.
  • Sin plugins innecesarios ni sobrecarga de código
  • Fácil de adaptar a tus necesidades reales

Manual para desarrolladores

Estructura básica

  • /_modules_/ contiene los módulos funcionales
  • /_themes_/ contiene los layouts HTML del sitio
  • /_outputs_/ define las salidas como json, csv, txt, pdf...
  • index.php es el punto de entrada común

Qué es un módulo?

Un módulo es una carpeta dentro de la carpeta _modules_, cada módulo es una aplicación web.

Crear un módulo nuevo ('a mano')

  1. Copiar la carpeta /_modules_/_template_/ y renombrarla
  1. # cp ./_modules_/example ./modules/<nombre_nuevo_modulo>
  1. Editar el init.php y run.php según tus necesidades

Crear un módulo nuevo (desde control panel)

  1. Creación de nuevo módulo: /control_panel/new/<nombre_nuevo_modulo>
  2. Copia de módulo existente: /control_panel/new/<nombre_nuevo_modulo>/<modulo_existente>
  3. Editar código fuente: /edit/_modules_/<nombre_modulo> (experimental)
  4. Agregar outputs si quieres respuestas especiales (json, pdf...)

Compatibilidad de servidores

  • Funciona perfectamente en servidores Apache, nginx y LiteSpeed
  • Compatible con PHP 7.x y 8.x

Salidas alternativas según la URL

Una misma entrada puede mostrarse en formato HTML normal con theme, o devolver un formato alternativo según el output elegido en la URL.

  • miweb.com/documentacion → muestra HTML con el theme
  • miweb.com/documentacion/pdf → genera un PDF (requiere dompdf, que se instala desde el panel de control)

Manual para usuarios

  • Permite editar contenido desde el panel de control
  • Permite cambiar el idioma o tema desde la URL o configuración
  • La URL define qué módulo se carga y con qué salida
  • Por ejemplo: /page/output/json devuelve una versión JSON de la página

Sobre el módulo page

  • Permite a los usuarios crear y gestionar páginas de contenido
  • Incluye edición inline con contenteditable y editor wysiwyg configurable
  • Soporta galerías de fotos, de archivos, enlaces internos y más

Casos reales de uso con extFW

  • riba2.org: portal institucional. Rápido, limpio, con contenido multilingüe. El sistema modular permite extenderlo sin sobrepeso.
  • store.gilfamily.es: tienda online simple y eficiente. Uso de outputs JSON y PDF. La ligereza de extFW mejora el tiempo de carga.
  • ampa-aidemar.es: sitio de asociación. Sencillo y editable por usuarios con conocimientos básicos gracias al editor inline.
  • grafyco.com: sitio corporativo con diseño personalizado. Usa módulos propios y outputs adaptados. Alta velocidad de carga.
  • web.clasicadelmarmenor.es: sitio de evento. Uso de galerías, módulo page y salidas tipo pdf y json.
  • eache.es: web informativa de producto. Arquitectura clara, modular, sin plugins externos.
  • radioclubtorrevieja.es: sitio con galerías, publicaciones y enlaces. Ligero, sencillo de mantener. Extensible para futuras funciones.

Notas finales

extFW es un sistema abierto, minimalista y fácil de extender. No requiere instalación especial y se adapta al proyecto que tengas en mente. Ideal para desarrolladores que prefieren la simplicidad y el control.

Ésta página utiliza cookies propias y almacenamiento local para facilitar el uso de nuestra web. Si continua navegando, supone la aceptación de nuestra política de cookies. Tenga en cuenta que si las desactiva no podrá utilizar nuestra tienda.