Files
smarty/docs/es/preface.xml
2004-10-07 18:50:52 +00:00

104 lines
5.0 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<preface id="preface">
<title>Prólogo</title>
<para>
Esta es indudablemente una de las preguntas que mas se hacen en las listas
de correo de PHP: Como hacer mis scripts de PHP independientes del diseño?.
Mientras PHP se encarga de como "incrustar scripts en lenguaje HTML",
después de escribir los proyectos que mezclan PHP y HTML libremente,
esto trae como consecuencia la idea de separar la forma y el contenido,
muy buena idea[TM]. En adición, en muchas compañias la
interpretación de esquema es diseñador y programador por separado.
Por consiguiente, la busqueda trae como solución una plantilla(template).
</para>
<para>
Por ejemplo en nuestra compañia, el desarrollo de una aplicación es
como sigue: Después de tener la documentación necesaria, el
diseñador de web diseña el prototipo de la interfaz y la entrega al
programador. El programador implementa las reglas de negocio en PHP y usa el
prototipo para crear el "esqueleto" de la plantilla.
El proyeto esta en manos de la persona responsable del HTML designer/web page
que produzca la plantilla para su gloria completa. El proyecto debe ir y regresar
entre programación/HTML varias veces. De esa manera, es importante para
tener un buen suporte de templates porque los programadores no quieren hacer nada
con HTML ni quieren diseño HTML al rededor del codigo PHP.
Los diseñadores precisan de soporte para archivos de configuración, bloques
dinámicos y otras interfaces usadas, mas ellos no quieren ocuparse con las
compejidades del lenguaje de programación PHP.
</para>
<para>
Buscando, actualmente existen muchas soluciones de templates disponibles para
PHP, la mayor parte de ellos les provee de una forma rudimentaria de
sustitución de variables dentro del template y hace una forma limitada
de la funcionalidad dinámica del bloque.
Pero nuestras necesidades requieren mas que eso.
Porque no queremos programadores que no quieran tener trato con HTML del todo,
pero esto puede ser casi inevitable.
Por ejemplo, si un diseñador quiere alternar colores de fondo sobre bloques
dinámicos, esto tuvo que trabajarse con el programador anticipadamente.
Nosotros necesitamos también que los diseñadores esten capacitados para
usar archivos de configuración, y colocar variables de ellos dentro de
los templates. La lista continua.
</para>
<para>
Nosotros empezamos escribiendo por fuera una especulación para un
motor de plantillas(templates) atrasado de 1999.
Después de terminar la especulación, comenzamos a trabajar
un motor de plantillas escrito en C que esperanzadoramente fue aceptado
para ser incorporado con PHP.
No solamente nos encontramos con algunas complicadas barreras tecnicas,
si no también hubo acalorados debates sobre lo que exactamente
debia de hacer o no un motor de plantillas.
De esta experiencia, decidimos que un motor de platillas devería
ser escrito en PHP como una clase, para que cualquiera lo use de la misma
forma como ellos ven.
Así nosotros escribimos un motor que es <productname>SmartTemplate
</productname> nunca volvio a existir(nota: esa clase nunca fue
enviada al público). Esta era una clase que ralizaba casi todo lo que nosotros
necesitabamos: sustitución de variables regulares, soporte incluso
de otras plantillas, integración con archivos de configuración,
incrustación de código PHP, funcionalidades 'if' limitada y muchos
mas bloques dinámicos robustos que podrían ser anidados muchas veces.
Todo esto con expresiones regulares y el código producido seria mejor, como
diriamos nosotros, impenetrable.
Eso era también notoriamente lento en grandes aplicaciones por todas
las interpretaciones y expresiones regulares trabajando en cada
requisición.
El mayor problema del punto de vista de un programador era todo el trabajo
necesario en el procesamiento del scripts PHP y procesamiento de bloques
dinámicos de la plantilla. Como hacemos eso facilmente?
</para>
<para>
Entonces se origino la visión de que finalmente se convirtiera en
Smarty. Nosotros sabemos que rápido es el código PHP sin las cabeceras
y la interpretación de plantillas(templates).
También sabemos que meticuloso y arrogante es el lenguaje PHP su poder
debe ser aceptable para un diseñador, y este podría ser enmascarado con
una simples sintaxis de plantillas(templates).
Entonces que pasara si nosotros convinamos las dos fuerzas?
De esta manera, nacio Smarty...
</para>
</preface>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->