-
+
+
+
+ es un framework basado en la idea de
+ Bif
+ de separar la lógica, el contenidos y el diseño de una aplicación
+ PHP
+ (típicamente una página web) pero con fuerte énfasis en la velocidad y la
+ simplicidad.
+ también está fuertemente influido por los
+ hooks
+ por lo que no deben extrañarse al encontrar similitudes, como la
+ simplicidad, velocidad, atomicidad y el mismo conceptos de separación
+ de lógica, contenidos y diseño.
+ La idea es simple, el diseño se genera con templates (modulares
+ tipo hooks), el contenido a través de XML (simple) y de la lógica se
+ encarga el PHP (transformar el XML según los templates con un poco de
+ magia en el medio).
+
+
+ Los objetivos de BIFE son estos (en orden de importancia):
+
+
BIFE debe ser rápido.
+
BIFE debe ser simple.
+
BIFE debe ser modular.
+
BIFE debe ser fácil para el creador de contenidos (XML).
+
+
+
+ es modular. en sí (el corazón) consiste en 4 clases,
+ 3 de ellas abstractas. Cada tag XML es mapeado por el
+ (única clase no abstracta) a un
+ objeto (cuya clase coincide con el tag). A su
+ vez, ese puede ser un
+ (en cuyo caso además de tener atributos,
+ tiene un contenido). De no encontrar una clase para ese tag XML, el
+ puede usar un objeto
+ que se encargue de resolver el problema.
+ ni siquiera depende de un sistema de templates particular, la
+ única limitación consiste en usar el mismo objeto template para
+ dibujar todos los .
+ Recordamos que todas estas clases (exceptuando a
+ ) son abstractas. Es por esto que para usar
+ es necesario implementarlas antes.
+
+
+ , el corazón, es un framework abstracto y sin una
+ implementación no sirve de mucho. A modo de ejemplo, y para darle
+ funcionalidad básica (web) se implementó el módulo
+ , que consiste sólo de 2 clases:
+ y .
+ es un (a su vez un
+ ) que se encarga de generar hipervínculos a
+ otras páginas y provee métodos útiles para usar en otros widgets
+ que a su vez necesiten generar links.
+ es un que
+ traduce por medio de templates los tags XML. De no encontrar un
+ template para ese tag, simplemente copia el tag entero (tag, atributos
+ y contenido) a la salida. Esto es suficiente para hacer un sitio web
+ simple, de hecho esta página está hecha con este módulo.
+ Este módulo depende de
+ (Hooks vs IT), un sistema de templates muy rápido y simple hecho
+ especialmente para que combina lo mejor de los hooks con el
+ sistema de templates IT.
+
+
+ La idea es que en el futuro hayan muchos widgets para bajar y
+ y armar una pagina web (o similar) solo escribiendo el XML (y
+ probablemente los templates).
+ Sería bueno que los widgets usen a su vez otras biblioteca de PHP (como
+ PEAR) para hacer el trabajo
+ sucio, de manera tal que los widgets se limiten a actuar de
+ nexo entre entre el HTML (o la salida que sea), el XML y la lógica
+ (realizada en su mayor parte por una biblioteca general).
+
+