X-Git-Url: https://git.llucax.com/software/bife/bife%20%20.git/blobdiff_plain/efa6c9315719fc0b98483abdc26341d061b4a4b4..564e1b22e98e94fde3ed7b08244f96c3e0f6b77c:/test.xml/software/bife/bife++.git/blobdiff_plain/efa6c9315719fc0b98483abdc26341d061b4a4b4..564e1b22e98e94fde3ed7b08244f96c3e0f6b77c:/test.xml?ds=inline diff --git a/test.xml b/test.xml index a6bbbf1..c962fe8 100644 --- a/test.xml +++ b/test.xml @@ -1,78 +1,78 @@ - - -
- es un framework basado en la idea de - Bif + + +
+ 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 + 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 + 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.
+ 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, +
    +
  • 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, + (ú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 + puede usar un objeto que se encargue de resolver el problema. - ni siquiera depende de un sistema de templates particular, la + ni siquiera depende de un sistema de templates particular, la única limitación consiste en usar el mismo objeto template para - dibujar todos los .
+ 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 + ) 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 + , 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 + 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 + 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 que combina lo mejor de los hooks con el + sistema de templates IT. -
-
+ desc="Integrated 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 + 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). -
-
+
+