<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zenphp :: blog &#187; Generadores</title>
	<atom:link href="http://blog.zenphp.es/category/generadores/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zenphp.es</link>
	<description>Escribre tu aplicación como si fuera la última que escribieras</description>
	<lastBuildDate>Tue, 08 Mar 2011 12:24:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Aplicaciones web escalables con potencialidades sin límites</title>
		<link>http://blog.zenphp.es/2011/03/08/aplicaciones-web-escalables-con-potencialidades-sin-limites/</link>
		<comments>http://blog.zenphp.es/2011/03/08/aplicaciones-web-escalables-con-potencialidades-sin-limites/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 12:24:07 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[Sistema Gestor Contenidos]]></category>
		<category><![CDATA[escabilidad]]></category>
		<category><![CDATA[generado]]></category>
		<category><![CDATA[ingenieria]]></category>
		<category><![CDATA[jerarquia]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[potencialidad]]></category>
		<category><![CDATA[sofware]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[zenphp]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=259</guid>
		<description><![CDATA[Escabilidad: Sistema de aplicaciones Atómico Cuando empecé a programar en PHP allá por el año 2005 ya pensaba que no quería mezclar código HTML con PHP, es por esto mismo que los creadores del lenguaje PHP creyeron que era mejor si se utilizaban objetos, capas, separación, jerarquías, etc. , es decir, su deseo era crear [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-260" title="escabilidad_sistema_atomico" src="http://blog.zenphp.es/wp-content/uploads/2011/03/escabilidad_sistema_atomico.jpg" alt="" width="300" height="300" /></p>
<p>Escabilidad: <strong>Sistema de aplicaciones Atómico</strong></p>
<p>Cuando empecé a programar en PHP allá por el año 2005 ya pensaba que no quería mezclar código HTML con PHP, es por esto mismo que los creadores del lenguaje PHP creyeron que era mejor si se utilizaban objetos, capas, separación, jerarquías, etc. , es decir, su deseo era crear algo más parecido a C y C++, igual que yo con <strong>PHP </strong>y este framework. En definitiva, estos lenguajes comparten características, en concreto dos muy importantes: <strong>escabilidad y potencialidad</strong>.<span id="more-259"></span></p>
<p>Al crear el generador de aplicaciones de zenphp (<em>zen_gtk</em>) con el primer sitio web que lo probé fué con el del grupo <em>Abades </em>y hace poco necesitaba añadir una red interna para socios, por suerte, <strong><em>zenphp </em></strong>está diseñado para ser escalable sin convertirse en un infierno jeje</p>
<p>En un día tenía que programar la gestión de usuarios de una red interna en la administración del sitio y un sistema promociones para ellos en la parte del cliente, además en dos idiomas&#8230;cómo lo hice?</p>
<p>Lo que hice fué crear un modelo de datos para los usuarios y otro modelo de datos para las promociones (junto con sus tablas y sus campos en MySQL), tanto para la administración como para el front-end, de modo que lo único que tenía que añadir a las aplicaciones principales de cada parte de la web era la definición como variable y como modelo, de forma que se cargan automáticamente y mediante el menú de opciones iba y administraba con sus <em>visualizadores</em> (vistas+controlador en una única clase que hereda de <em>zen_html_modelo_datos </em>cuyo padre es <em>zen_modelo_datos </em>) las tablas de usuarios y promociones. En el front-end añadía una función para crear la sesión de usuarios con un formulario básico y con un poco de copypaste del trabajo ya hecho en el sistema de aplicaciones web ya está todo terminado y en tiempo record.</p>
<p>La Ingeniería Informática consiste en crear herramientas como esta, que den soporte al mantenimiento del software y además que sea freesource, para que pueda extenderse sin límites, además, debe permitir remover, cambiar piezas para que no quede obsoleto y debe ser atractivo para que el deseo de los programadores nunca muera, es decir, que se pueda seguir extendiendo para asegurar que se cumplen las necesidades de los usuarios finales y administradores de los roles de la jerarquía del sistema.</p>
<p>Un sistema de aplicaciones web atómico es aquel en el que podemos separar o unir cualquiera de sus partes individualmente como átomos de un organismo, ganando más potencialmente al unirlos.</p>
<p>&nbsp;</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=259&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_259"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2011/03/08/aplicaciones-web-escalables-con-potencialidades-sin-limites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consultas avanzadas y plantillas simples</title>
		<link>http://blog.zenphp.es/2011/02/18/consultas-avanzadas-y-plantillas-simples/</link>
		<comments>http://blog.zenphp.es/2011/02/18/consultas-avanzadas-y-plantillas-simples/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 13:08:30 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[Sistema Gestor Contenidos]]></category>
		<category><![CDATA[algoritmo]]></category>
		<category><![CDATA[avanzado]]></category>
		<category><![CDATA[consultas]]></category>
		<category><![CDATA[fotos]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[imagen]]></category>
		<category><![CDATA[multidominio]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[plantillas]]></category>
		<category><![CDATA[redimensionar]]></category>
		<category><![CDATA[thumbnail]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=254</guid>
		<description><![CDATA[Cuando tenemos un sistema de aplicaciones web multidominio, las tareas como comprobar si un fichero existe cuando está en otro dominio virtual se pueden complicar. Con el framework zenphp es fácil evitar el problema enfocándolo de una manera práctica y sencilla, he aprendido muchísimo desde que empecé con él en el año 2005, este truco [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.zenphp.es/wp-content/uploads/2011/02/hazelnuts-cool-math-problem.jpg"><img class="aligncenter size-medium wp-image-255" title="hazelnuts-cool-math-problem" src="http://blog.zenphp.es/wp-content/uploads/2011/02/hazelnuts-cool-math-problem-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p>Cuando tenemos un sistema de aplicaciones web multidominio, las tareas como comprobar si un fichero existe cuando está en otro dominio virtual se pueden complicar.</p>
<p>Con el framework zenphp es fácil evitar el problema enfocándolo de una manera práctica y sencilla, he aprendido muchísimo desde que empecé con él en el año 2005, este truco os lo regalo, como todo lo que he hecho en mi trabajo <img src='http://blog.zenphp.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Veamos la solución al problema con un ejemplo sencillo: tengo que poner una imagen de miniatura en una parte de la web en cada dominio, pero el usuario es posible que no haya subido ninguna imagen de miniatura y si no lo ha hecho debemos crear un &#8220;thumbnail&#8221; famoso, pero,..y aquí viene la cuestión del millón de dólares&#8230;¿cómo podremos hacer la comprobación de existencia de un fichero si los almacenamos en el servidor principal que es virtual y no queremos crear ningún servicio web porque no queremos perder tiempo?</p>
<p>Lo primero que tenemos que hacer es crear una plantilla HTML con una etiqueta genérica del sistema de plantillas de zenphp (basado en una simple substitución de etiquetas entre #almohadillas# desde un array) de forma que el atributo src será de la forma:</p>
<p>&lt;img src=&#8221;http://www.Mi_Dominio.es/#foto1#&#8221; width=&#8221;290&#8243; height=&#8221;135&#8243;/&gt;</p>
<p>bien, podéis fijaros que el dominio utilizado es donde reside nuestro almacén de imágenes, y que se restringe a un ancho y alto para mayor seguridad.</p>
<p>El siguiente paso es evidente, vamos a ir al visualizador (concepto mezcla de controlador/vista del patrón mvc), en este caso el de productos, la función que muestra el listado de productos, donde encontraremos en su lista de campos una modificación de foto1 por</p>
<p>if(miniatura&lt;&gt;&#8221;,miniatura,id) as foto1</p>
<p>así, le decimos a mysql: si ves que hay miniatura, quiero la miniatura, en otro caso el id de producto, pero lo llamamos en cualquier caso foto1 a este campo, tal como decía en la plantilla HTML.</p>
<p>Ahora, sabremos si el usuario ha usado una miniatura con una simple condición</p>
<p>[php]</p>
<div id="_mcePaste">if (is_numeric($dato['foto1']))</div>
<div>$dato['foto1'] = &#8220;img/{$dato['foto1']}/290/135/&#8221;; //redimensionada con la original</div>
<div id="_mcePaste">else</div>
<div>$dato['foto1'] = &#8220;fotos/thumbs/{$dato['foto1']}&#8221;; //miniatura del usuario</div>
<p>[/php]</p>
<p>Lo cual viene a ser, que si es un ID, no hay miniatura y utilizaremos un script básico de creación de thumbnail (con redirección al nuevo fichero creado al terminar la operación de generación) y en otro  caso, muestra la miniatura.</p>
<p>Observar que en la generación de thumbnail con PHP se utiliza como parámetros el ID del producto para extraer la primera imagen y el tamaño, es decir, alto y ancho (290&#215;135).</p>
<p>aquí está la función para crear el thumbnail:</p>
<p>[php]</p>
<p>/**</p>
<p>* Construye una imagen a partir del id de un producto<br />
*  * @param array $datos  */</p>
<p>function img($datos=null){<br />
$foto = $this-&gt;padre-&gt;bd-&gt;seleccion_unica(&#8220;foto1 from productos where id=&#8221;.intval($datos[0]));<br />
if (!$foto) die(&#8220;No existe la imagen&#8221;);<br />
//existe el thumbnail?<br />
$w  = isset($datos[1])&amp;&amp;$datos[1]&lt;600&amp;&amp;$datos[1]&gt;20?abs(intval($datos[1])):101;<br />
$h  = isset($datos[2])&amp;&amp;$datos[2]&lt;600&amp;&amp;$datos[2]&gt;20?abs(intval($datos[2])):100;<br />
if (!file_exists(ZF_DIR_PPAL.&#8221;fotos/thumbs/$w$foto&#8221;)){</p>
<p>//crear el thumbnail</p>
<p>require_once(ZF_DIR_LIBRERIAS.&#8221;clase_zen_Imagen.php&#8221;);</p>
<p>$zi =&amp; new zen_Imagen(ZF_DIR_PPAL.&#8221;fotos/$foto&#8221;,ZF_DIR_PPAL.&#8221;fotos/thumbs/$w$foto&#8221;);</p>
<p>$zi-&gt;redimensionar($w,$h);</p>
<p>}</p>
<p>//Redirigir a la imagen thumbnail</p>
<p>header(&#8220;Location: /fotos/thumbs/$w$foto&#8221;);</p>
<p>}</p>
<p>[/php]</p>
<p>Espero que os sirva y os lo paséis tan bien como en mi caso programando <img src='http://blog.zenphp.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=254&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_254"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2011/02/18/consultas-avanzadas-y-plantillas-simples/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Más Extras para completar zenphp:VCard y DHTML Calendar</title>
		<link>http://blog.zenphp.es/2008/05/13/mas-extras-para-completar-zenphp-vcards-y-dhtml-calendar/</link>
		<comments>http://blog.zenphp.es/2008/05/13/mas-extras-para-completar-zenphp-vcards-y-dhtml-calendar/#comments</comments>
		<pubDate>Tue, 13 May 2008 12:00:58 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Documentación]]></category>
		<category><![CDATA[Funcionalidades]]></category>
		<category><![CDATA[Generadores]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=133</guid>
		<description><![CDATA[Como he visto que faltaban algunas cuestiones extras, las he añadido: soporte para VCards [código][ejemplo] Podeis hacer uso de &#8220;apt-get install 2vcard&#8221; para hacer vuestras conversiones de libros de direcciones a VCards. Calendarios en DHTML para insertar en formularios [descargar DHTML Calendar][ejemplo] Una captura: Espero que os sirvan, como siempre Compártelo]]></description>
			<content:encoded><![CDATA[<p>Como he visto que faltaban algunas cuestiones extras, las he añadido:</p>
<ul>
<li><a href="http://blog.zenphp.es/wp-content/uploads/2008/05/vcardicon.jpg"><img class="alignnone size-full wp-image-135" title="vcardicon" src="http://blog.zenphp.es/wp-content/uploads/2008/05/vcardicon.jpg" alt="" width="128" height="128" /></a> soporte para <a href="http://es.wikipedia.org/wiki/VCard" target="_blank">VCards</a> [<a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/librerias/clase_VCard.php?op=file&amp;rev=0&amp;sc=0" target="_blank">código</a>][<a href="https://forja.rediris.es/forum/forum.php?thread_id=1320&amp;forum_id=821" target="_blank">ejemplo</a>]<br />
Podeis hacer uso de &#8220;apt-get install 2vcard&#8221; para hacer vuestras conversiones de libros de direcciones a VCards.</li>
<li><a href="http://blog.zenphp.es/wp-content/uploads/2008/05/ical.png"><img class="alignnone size-full wp-image-134" title="ical" src="http://blog.zenphp.es/wp-content/uploads/2008/05/ical.png" alt="" width="128" height="128" /></a>Calendarios en DHTML para insertar en formularios [<a href="http://www.dynarch.com/projects/calendar/" target="_blank">descargar DHTML Calendar</a>][<a href="https://forja.rediris.es/forum/forum.php?thread_id=1321&amp;forum_id=821" target="_blank">ejemplo</a>]</li>
</ul>
<p>Una captura:</p>
<p><a href="http://blog.zenphp.es/wp-content/uploads/2008/05/dhtml_calendar.jpg"><img class="alignnone size-full wp-image-136" title="dhtml_calendar" src="http://blog.zenphp.es/wp-content/uploads/2008/05/dhtml_calendar.jpg" alt="" width="500" height="282" /></a></p>
<p>Espero que os sirvan, como siempre <img src='http://blog.zenphp.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=133&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_133"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/05/13/mas-extras-para-completar-zenphp-vcards-y-dhtml-calendar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extendiendo los procesos de automatización</title>
		<link>http://blog.zenphp.es/2008/04/19/extendiendo-los-procesos-de-automatizacion/</link>
		<comments>http://blog.zenphp.es/2008/04/19/extendiendo-los-procesos-de-automatizacion/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 08:00:56 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[Sistema Gestor Contenidos]]></category>
		<category><![CDATA[ingeniería del Software]]></category>
		<category><![CDATA[automatización]]></category>
		<category><![CDATA[generador]]></category>
		<category><![CDATA[procesos]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=122</guid>
		<description><![CDATA[Para automatizar los procesos de una aplicación web lo mejor es usar un esqueleto y escribir código a partir de él. Aunque muchas veces el problema es como se dice en todos sitios, la curva de aprendizaje de un método. Con cualquiera de las formas de pensar a la hora de hablar de programación encontramos [...]]]></description>
			<content:encoded><![CDATA[<p>Para automatizar los procesos de una aplicación web lo mejor es usar un esqueleto y escribir código a partir de él. Aunque muchas veces el problema es como se dice en todos sitios, la curva de aprendizaje de un método.<br />
Con cualquiera de las formas de pensar a la hora de hablar de programación encontramos similitudes porque los humanos pensamos de la misma manera XD ¿Qué quiero decir con esto? Pues ,pasa lo mismo que con las ideas que se tienen implementando capas de redes, cuando a alguien se le ocurre una idea para<a href="http://blog.zenphp.es/wp-content/uploads/2008/04/tuercas_sgc.png"><img style="float:right; padding:2px" title="tuercas_sgc" src="http://blog.zenphp.es/wp-content/uploads/2008/04/tuercas_sgc.png" alt="" width="342" height="501" /></a> proteger,enviar o recibir, encriptar,&#8230;lo que sea!, seguramente se le ha ocurrido a otra persona antes, y si no se le ha ocurrido se le ocurrirá pronto <img src='http://blog.zenphp.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  y me explico, a mi se me ocurren ideas que me parecen muy buenas y dada mi experiencia con programación orientada a objetos para programar páginas web considero que debo compartir lo que he aprendido y he de mezclarlo con los conocimientos ya adquiridos y puestos en la red con libertad de uso&#8230;lo que a mi se me ha ocurrido se le puede haber ocurrido a cualquiera otra persona en cualquier otro momento, sin embargo lo voy a publicar, para que cualquier otra persona no tenga que implementar lo que en mi caso, con más experiencia, me cuesta menos expresar en líneas de código. El resultado es un conjunto de clases llamadas librerías que están muy organizadas y disponen de un sistema de comunicación entre sí que permite seguir las normas de la programación estructurada fácilmente gracias a la documentación asociada a estas librerías asi como seguir los ejemplos propuestos.<br />
La fases de los procesos de automatización de un Sistema Gestor de Contenidos fueron expuestas en anteriores artículos de este mismo blog. Lo que ahora es más interesante es preguntarse de qué forma se puede implementar un SGC para que no se convierta en la desconfianza de Joomla en cuanto a sus módulos y la desorganización entre versión tras versión que hace chocar implementaciones entre si e imposible reutilizar código por joven que éste parezca&#8230;y la respuesta es el generador de código, que mantiene la sincronización actualizada de los procesos de automatización, en otras palabras, se encarga, una vez actualizado, de compilar los paquetes de módulos contenidos en uno/s cartucho/s para generar una salida adaptada a la versión más reciente, a partir de ahi el código final puede surgir cambios pero sólo si no se está usando en modo de programación orientada a aspectos, esto permite realizar cambios directamente en el cartucho y obtener la versión actualizada del framework en ese momento.</p>
<p>Las primeras pruebas las estoy utilizando para proyectos simples y en los que me baso para ir mejorando poco a poco.</p>
<p>Asi es como se puede extender un proceso de automatización sin riesgos.</p>
<p>Ahora estoy aprendiendo un poco de ASP, y creo que me va a resultar difícil encontrar un SGC de código libre en condiciones&#8230;:P</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=122&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_122"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/04/19/extendiendo-los-procesos-de-automatizacion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generar el esqueleto de una aplicación web en 15 segundos</title>
		<link>http://blog.zenphp.es/2008/04/12/generar-el-esqueleto-de-una-aplicacion-web-en-15-segundos/</link>
		<comments>http://blog.zenphp.es/2008/04/12/generar-el-esqueleto-de-una-aplicacion-web-en-15-segundos/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 06:30:45 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[PHP-Gtk]]></category>
		<category><![CDATA[Progreso]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=109</guid>
		<description><![CDATA[Hagamos un repaso de los vídeos de la sección de documentos. Toma 1:Validaciones Después de ver los vídeos de las validaciones Toma 2: modelo de datos De como se construye un modelo de datos con su visualizador usando el MVC modificado Toma 3: Visualizador avanzado: Avanzamos con el visualizador:[ver] Toma 4: El scaffolding y le [...]]]></description>
			<content:encoded><![CDATA[<p>Hagamos un repaso de los vídeos de la <a title="Ir a la sección de documentos" href="https://forja.rediris.es/docman/?group_id=252" target="_blank">sección de documentos</a>.</p>
<h4>Toma 1:Validaciones</h4>
<p>Después de ver los vídeos de las <a href="http://www.youtube.com/watch?v=Tm1OmAEUDUU" target="_blank">validaciones</a><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/Tm1OmAEUDUU&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/Tm1OmAEUDUU&amp;hl=en" wmode="transparent"></embed></object></p>
<h4>Toma 2: modelo de datos</h4>
<p>De <a href="http://www.youtube.com/watch?v=VbQjaI-I490" target="_blank">como se construye un modelo de datos con su visualizador</a> usando el <a href="http://blog.zenphp.es/?s=patr%C3%B3n+mvc+">MVC modificado</a><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/VbQjaI-I490&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/VbQjaI-I490&amp;hl=en" wmode="transparent"></embed></object></p>
<h4>Toma 3: Visualizador avanzado:</h4>
<p>Avanzamos con el visualizador:<a href="http://www.youtube.com/watch?v=0vdOZw6kXI8">[ver]</a><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/0vdOZw6kXI8&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/0vdOZw6kXI8&amp;hl=en" wmode="transparent"></embed></object></p>
<h4>Toma 4: El scaffolding</h4>
<p>y le añadimos un andamio (scaffolding):<a href="http://www.youtube.com/watch?v=hWdFSZRtFO4" target="_blank">[ver]</a><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/hWdFSZRtFO4&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/hWdFSZRtFO4&amp;hl=en" wmode="transparent"></embed></object></p>
<h4>Todo en uno: el generador</h4>
<p>Podemos ver como el generador de aplicaciones lo hace todo en 15 segundos (o menos <img src='http://blog.zenphp.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )<a href="http://www.youtube.com/watch?v=eYV65MOSDYc" target="_blank">[en acción]</a> realiza nuestro trabajo más rápido que nosotros y nos permite concentrarnos en la parte importante del problema, lo que tenemos que presentar, finalmente.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/eYV65MOSDYc&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/eYV65MOSDYc&amp;hl=en" wmode="transparent"></embed></object><br />
<a href="http://www.youtube.com/watch?v=eYV65MOSDYc" target="_blank">Ir al vídeo</a></p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=109&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_109"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/04/12/generar-el-esqueleto-de-una-aplicacion-web-en-15-segundos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Operaciones automáticas del generador de aplicaciones</title>
		<link>http://blog.zenphp.es/2008/04/08/operaciones-automaticas-del-generador-de-aplicaciones/</link>
		<comments>http://blog.zenphp.es/2008/04/08/operaciones-automaticas-del-generador-de-aplicaciones/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 12:27:12 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[PHP-Gtk]]></category>
		<category><![CDATA[Progreso]]></category>
		<category><![CDATA[ayudantes]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[visualizador]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=102</guid>
		<description><![CDATA[Para construir una aplicación el generador toma una serie de modelos de ficheros necesarios como base para completar la estructura del sistema. La estructura del generador se puede ver en el siguiente diagrama: La macro zen_generador_gtk.php lanza la ventana principal (GtkWindow,PHP-GTK2:GtkWindow) que usa la clase zen_fabrica_gtk para &#8220;fabricar&#8221; todos los componentes de la ventana principal, [...]]]></description>
			<content:encoded><![CDATA[<p>Para construir una aplicación el generador toma una serie de modelos de ficheros necesarios como base para completar la estructura del sistema.</p>
<p>La estructura del generador se puede ver en el siguiente diagrama:<br />
<a title="Abrir diseño de clases del generador GTK para zenphp" href="https://forja.rediris.es/docman/view.php/252/574/zen_generador_GTK.png" target="_blank"><img style="border: 0;" src="https://forja.rediris.es/docman/view.php/252/574/zen_generador_GTK.png" alt="Diagrama de clases del generador de aplicaciones PHP-GTK2 para zenphp" width="384" height="213" /></a><br />
La macro <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/zen_generador_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_generador_gtk.php</a> lanza la <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_ventana_principal.php?op=file&amp;rev=0&amp;sc=0" target="_blank">ventana principal</a> (<a href="http://library.gnome.org/devel/gtk/2.11/GtkWindow.html" target="_blank">GtkWindow</a>,<a href="http://gtk.php.net/manual/en/gtk.gtkwindow.php" target="_blank">PHP-GTK2:GtkWindow</a>)  que usa la clase <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_fabrica_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_fabrica_gtk</a> para &#8220;fabricar&#8221; todos los componentes de la ventana principal, asociándole los eventos que se agrupan en la clase <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_eventos_ventana_principal.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_eventos_ventana_principal</a>, de forma que tenemos siempre un puntero en todas las clases a ésta ventana principal que sirve para localizar cualquier componente,clase o método que necesitemos desde cualquier lugar, asi, se construyen los modelos de las estructuras de datos como las de los árboles con una clase <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_clases_arbol_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">info_configuracion_arbol</a> asociada a la &#8220;fábrica&#8221;, que sólo inciarse, en su constructor lee las definiciones del fichero de configuración XML del generador, y genera los menús en el <a href="http://gtk.php.net/manual/en/gtk.gtkmenubar.php" target="_blank">GtkMenuBar</a> llamado <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_menu_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_menu_gtk</a> existiendo la posibilidad de definir nuestros propios menus de usuario, los eventos se asocian directamente y son &#8220;atrapados&#8221; por medio de la función &#8220;public function evento_menu($nombre) ;&#8221; de la clase <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_eventos_ventana_principal.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_eventos_ventana_principal</a>, sólo hemos de añadir nuestro &#8220;caso&#8221; al resto para que se ejecuten las órdenes que necesitemos&#8230;</p>
<p>Queda mencionar la última conexión con la fábrica, que estoy desarrollando, el <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/?rev=0&amp;sc=0" target="_blank">generador GTK</a> se conecta con el <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/?rev=0&amp;sc=0" target="_blank">generador POA</a> para compilar y aplicar los &#8220;aspectos&#8221; en los que se basa, esto es, nuestros modelos y ayudantes definidos en el cartucho, los visualizadores asociados, las bases de datos configuradas en la aplicación,etc. Esto se hace con el <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_generador_poa.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_generador_poa</a>, asociado a la <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_fabrica_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">fábrica Gtk</a> de forma que carga el motor de <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/zen.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zenphp</a> y conecta las 3 partes del proyecto a través del paradigma orientado a aspectos. Tras compilar, generar y construir todo el sistema de aplicaciones, se muestra el mensaje de confirmación. Ya se puede copiar el directorio de salida al directorio web y si todo estaba bien definido, probar la aplicación&#8230;</p>
<p>Quizás algo interesante es <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_gtk_ventana_mysql_admin.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_ventana_mysql_admin</a> , un administrador de bases de datos MySQL, podemos definir en el XML de nuestro cartucho el acceso a varios servidores y mediante la aplicación al hacer doble click sobre dicha línea de configuración conectarremos al servidor especificado para realizar las tareas que consideremos oportunas fácilmente.</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=102&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_102"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/04/08/operaciones-automaticas-del-generador-de-aplicaciones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pruebas con caché y anti-spam para la forja</title>
		<link>http://blog.zenphp.es/2008/04/06/pruebas-con-cache-y-anti-spam-para-la-forja/</link>
		<comments>http://blog.zenphp.es/2008/04/06/pruebas-con-cache-y-anti-spam-para-la-forja/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 12:24:16 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Algoritmos]]></category>
		<category><![CDATA[Funcionalidades]]></category>
		<category><![CDATA[Generadores]]></category>
		<category><![CDATA[Progreso]]></category>
		<category><![CDATA[akismet]]></category>
		<category><![CDATA[anti-spam]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[forja]]></category>
		<category><![CDATA[foros]]></category>
		<category><![CDATA[pruebas]]></category>
		<category><![CDATA[rediris]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=97</guid>
		<description><![CDATA[Hace tiempo que me procuré de encontrar un método eficaz y simple para evitar spam en los foros de la forja pero nunca lo encontré, asi que ideé uno, por si teneis problemas con el spam en vuestros foros aquí teneis el código, son sólo dos ficheros, vuestro servidor necesita tener CURL instalado. Generador de [...]]]></description>
			<content:encoded><![CDATA[<p>Hace tiempo que me procuré de encontrar un método eficaz y simple para evitar spam en los foros de la forja pero nunca lo encontré, asi que ideé uno, por si teneis problemas con el spam en vuestros foros aquí teneis el código, <strong>son sólo dos ficheros</strong>, vuestro servidor necesita tener <a title="Ver manual de CURL" href="http://es.php.net/curl" target="_blank">CURL</a> instalado.</p>
<ol>
<li><a title="borra_spam.php" href="http://www.zenphp.es/plantillas/borra_spam.phps" target="_blank"><strong>Generador </strong>de enlaces de spam en los foros de tu proyecto de la Forja</a></li>
<li><a title="iframe.php" href="http://www.zenphp.es/plantillas/iframe.phps" target="_blank"><strong>Iframe </strong>que incrusta los formularios para borrar los mensajes de spam</a></li>
</ol>
<p>Para que funcione, sólo debéis colocarlo en vuestro servidor, y llamar a miservidor.es/borra_spam.php.<br />
Para configurarlo:</p>
<ul>
<li><strong><em>$id_proyecto</em></strong> es vuestro número de proyecto, aparece cuando pincháis en los foros de vuestro proyecto ( ?group_id=#___# ) donde #___# es vuestro ID de proyecto</li>
<li><strong><em>$id_foros</em></strong> es un array con todos los identificadores de los foros que tengais: (?forum_id=#___#) donde #___# es vuestro id de foro</li>
<li><strong><em>$palabra</em></strong> es la/s palabra/s que hay  en los mensaje de spam&#8230;y ¡cuidado! debe ser una sentencia única, porque es peligroso y podeis borrar mensajes que no queríais borrar sin poder recuperarlos&#8230;podeis probar qué encuentra con el buscador en el que se basa este generador de anti-spam con el genial buscador avanzado que trae la Forja en:
<p>https://forja.rediris.es/search/advanced_search.php?group_id=#___#</p>
<p>donde #___# es vuestro id de proyecto.</li>
</ul>
<p>El generador de enlaces de spam recorrerá los foros especificados abriendo una conexión con el buscador avanzado, es por eso que debeis tener una sesión abierta como administrador para que aparezcan los formularios de edición y se pueda establecer la conexión correctamente al hacer el envío pinchando en cada uno de los botones &#8220;Borrar&#8221; de cada iframe, que aparecerán por cada acierto de la/s palabra/s encontradas en los foros del proyecto, en mi caso , el atacante spam me envia cada dia una ristra de posts donde aparece la palabra drug, cosa que no suelo utilizar XD en mis foros, por eso puedo encontrarlo y borrarlo rápidamente.</p>
<p>Aquí una captura:</p>
<p><a href="http://blog.zenphp.es/wp-content/uploads/2008/04/borrador.gif"><img class="alignnone size-full wp-image-98" title="borrador" src="http://blog.zenphp.es/wp-content/uploads/2008/04/borrador.gif" alt="" width="533" height="171" /></a></p>
<p>Cambiando de tema, en <a href="https://forja.rediris.es/forum/forum.php?forum_id=962" target="_blank">este foro</a> hay nuevas pruebas con Akismet para vuestras aplicaciones así como de un ejemplo de caché.</p>
<p>Pasaré a explicar un poco mejor como funciona esto de la caché: esto es lo que hace que vuestras aplicaciones suban muchos puntos en cuanto a <strong>rendimiento</strong>,tal como hace <a title="Abrir el análisis de los temas de Drupal" href="https://forja.rediris.es/pm/task.php?func=detailtask&amp;project_task_id=763&amp;group_id=252&amp;group_project_id=486" target="_blank">Drupal</a>, de forma que  se guardan en la caché contenidos que no vayan a cambiar mucho,estableciéndose el tiempo límite y asi, cargar el contenido generado (sólo una vez) desde un fichero en lugar de procesarlo todo muchas veces, es un truco que también usa WordPress, sin embargo se puede utilizar para cualquier parte de la aplicación, por ejemplo si lleváis un número de comentarios en un artículo mayor de 50, es tonteria leerlos todos y aplicarles las plantillas, en lugar de eso, se genera hasta un número límite de 50, se guarda una vez y se establece una caché para esos primeros cincuenta.</p>
<p>En cuanto al progreso, se ha avanzado mucho con el gestor de contenidos, el generador está a punto para insertar dicho generador como un administrador con una aplicación zen_aplicacion_administrador&#8230;</p>
<p>Salu2!</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=97&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_97"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/04/06/pruebas-con-cache-y-anti-spam-para-la-forja/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Invitacion a encuesta para seleccionar el nuevo logotipo</title>
		<link>http://blog.zenphp.es/2008/04/02/invitacion-a-encuesta-para-seleccionar-nuevo-logotipo/</link>
		<comments>http://blog.zenphp.es/2008/04/02/invitacion-a-encuesta-para-seleccionar-nuevo-logotipo/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 11:02:13 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Concurso/Sorteo]]></category>
		<category><![CDATA[Documentación]]></category>
		<category><![CDATA[Generadores]]></category>
		<category><![CDATA[encuestas]]></category>
		<category><![CDATA[logotipo]]></category>
		<category><![CDATA[resumen]]></category>
		<category><![CDATA[zenphp]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=89</guid>
		<description><![CDATA[Resumen del progreso de las tareas en la primera semana de Abril/2008]]></description>
			<content:encoded><![CDATA[<p>Mientras termino con la implementación del <a title="Ver diagrama de clases del generador GTK" href="https://forja.rediris.es/docman/view.php/252/574/zen_generador_GTK.png" target="_blank">diseño de clases GTK</a> del <a title="Ver el PDF con más información" href="https://forja.rediris.es/docman/view.php/252/479/zenphp_gtk.pdf" target="_blank">generador de aplicaciones GTK</a>, concretamente la <a title="Ver la clase zen_generador_poa" href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_generador_poa.php?op=file&amp;rev=0&amp;sc=0" target="_blank">clase que vincula</a> el <a title="Compilador y generador POA" href="http://blog.zenphp.es/2008/01/19/compilador-y-generador-terminados/">Paradigma de la Programación Orientada a Aspectos</a> [<a title="Ver diagrama de clases de zen_POA" href="https://forja.rediris.es/docman/view.php/252/575/zen_POA.png" target="_blank">diagrama</a>] con el <a title="Ver la clase zen_analizador_cartucho" href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_analizador_cartucho.php?op=file&amp;rev=0&amp;sc=0" target="_blank">lector de cartuchos</a>, además de las <a title="Ir al foro de pruebas" href="https://forja.rediris.es/forum/forum.php?forum_id=962" target="_blank">pruebas</a> y el <a title="Ir al código de los tutoriales con los ejemplos" href="http://es.wikipedia.org/wiki/Zenphp" target="_blank">código de los ejemplos</a> más el <a title="Ver todos los ficheros de ejemplos y documentación" href="https://forja.rediris.es/docman/?group_id=252" target="_blank">documento</a> de memoria (ahí es ná) he hecho una <a title="Ir a la encuesta" href="https://forja.rediris.es/survey/survey.php?group_id=252&amp;survey_id=28" target="_blank">encuesta</a> con unos <a title="Ver como quedan los nuevos logotipos en la web de zenphp" href="http://www.zenphp.es">logotipos</a> que me ha creado mi amigo <a href="http://www.davidmartinez.es/" target="_blank"><strong>Pablox</strong></a>, un genio!! <img src='http://blog.zenphp.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Éstas son las opciones para la encuesta</p>
<p><strong>Logotipo 1</strong></p>
<p><a href="http://picasaweb.google.es/juaxix/Zenphp/photo#5184594668581943954"><img src="http://lh6.google.es/juaxix/R_NhYcU1-pI/AAAAAAAAAXM/67TPIKRB3Rc/s288/zenphp1.png" border="0" alt="" /></a></p>
<p><strong> Logotipo 2:</strong></p>
<p><a href="http://picasaweb.google.es/juaxix/Zenphp/photo#5184594668581943970"><img src="http://lh6.google.es/juaxix/R_NhYcU1-qI/AAAAAAAAAXU/DxhfWMUqE1Y/s288/zenphp2.png" border="0" alt="" /></a></p>
<p><strong> Logotipo 3:</strong></p>
<p><a href="http://picasaweb.google.es/juaxix/Zenphp/photo#5184594672876911282"><img src="http://lh3.google.es/juaxix/R_NhYsU1-rI/AAAAAAAAAXc/69LWA43dlMc/s288/zenphp3.png" border="0" alt="" /></a></p>
<p><strong> Logotipo 4:</strong></p>
<p><a href="http://picasaweb.google.es/juaxix/Zenphp/photo#5184594672876911298"><img src="http://lh3.google.es/juaxix/R_NhYsU1-sI/AAAAAAAAAXk/HbaG6PKeisg/s288/zenphp4.png" border="0" alt="" /></a></p>
<p><strong>Logotipo 5:</strong></p>
<p><a href="http://picasaweb.google.es/juaxix/Zenphp/photo#5184953796567366370"><img src="http://lh3.google.es/juaxix/R_SoAcU1-uI/AAAAAAAAAYM/lFYsRGygllA/s288/zenphp5.png" border="0" alt="" /></a></p>
<p><img src="http://lh3.google.es/juaxix/R_SoAcU1-tI/AAAAAAAAAYE/WOPQWK7qCSo/s144/creative_commons_bw.gif" alt="Creative Commons" /></p>
<p><strong>Para participar pinchar <a title="Ir a participar en la encuesta :)" href="https://forja.rediris.es/survey/survey.php?group_id=252&amp;survey_id=28" target="_blank">aquí</a>.</strong></p>
<p>Gracias.</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=89&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_89"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/04/02/invitacion-a-encuesta-para-seleccionar-nuevo-logotipo/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Resultados de la encuesta sobre el generador de código fuente</title>
		<link>http://blog.zenphp.es/2008/03/24/resultados-de-la-encuesta-sobre-el-generador-de-codigo-fuente/</link>
		<comments>http://blog.zenphp.es/2008/03/24/resultados-de-la-encuesta-sobre-el-generador-de-codigo-fuente/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 15:23:28 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[encuesta]]></category>
		<category><![CDATA[generador]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[resultados]]></category>
		<category><![CDATA[zenphp]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/2008/03/24/resultados-de-la-encuesta-sobre-el-generador-de-codigo-fuente/</guid>
		<description><![CDATA[Bueno, aquí están los resultados de la encuesta sobre el generador de código fuente. La gráfica que sale es algo parecido a esto: Aclaro las leyendas: Verde claro: Aplicación con administración Morado: Sólo esqueleto de aplicación Naranja claro: Configurar campos en los modelos con XML Rojo: Interfaz para configurar Azul oscuro (arriba): Usarlo sólo para [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, aquí están los resultados de la encuesta sobre el generador de código fuente.</p>
<p>La gráfica que sale es algo parecido a esto:</p>
<p><a href="http://picasaweb.google.es/juaxix/Zenphp/photo#5181327083232950882"><img src="http://lh4.google.es/juaxix/R-fFh8U1-mI/AAAAAAAAAWQ/rztH0N-kLSw/s800/grafica_generador.jpg" border="0" /></a></p>
<p>Aclaro las leyendas:</p>
<ul>
<li>Verde claro: Aplicación con administración</li>
<li>Morado: Sólo esqueleto de aplicación</li>
<li>Naranja claro: Configurar campos en los modelos con XML</li>
<li>Rojo: Interfaz para configurar</li>
<li>Azul oscuro (arriba): Usarlo sólo para empezar como base entre PHP y el SDK</li>
<li>Verde olivo: Usar clases propias con ayuda</li>
<li>Naranja oscuro: Usarlo como CMS (Gestor de contenidos)</li>
<li>Azul claro (abajo): Generador con interfaz web</li>
</ul>
<p>Está claro que el generador necesita que se ponga todo su empeño en generar clases simples que le sirvan al programador para empezar con el framework, añadiendo comentarios y documentación con enlaces a los manuales y ejemplos para que &#8220;pique&#8221; su propio código con total libertad.</p>
<p>Hay un nuevo vídeo del generador, estoy formateándolo para que no ocupe tanto&#8230;.</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=83&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_83"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/03/24/resultados-de-la-encuesta-sobre-el-generador-de-codigo-fuente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Encuesta: ¿es necesario un generador de código?</title>
		<link>http://blog.zenphp.es/2008/03/19/encuesta-%c2%bfes-necesario-un-generador-de-codigo/</link>
		<comments>http://blog.zenphp.es/2008/03/19/encuesta-%c2%bfes-necesario-un-generador-de-codigo/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 12:38:17 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[encuestas]]></category>
		<category><![CDATA[generador]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/2008/03/19/encuesta-%c2%bfes-necesario-un-generador-de-codigo/</guid>
		<description><![CDATA[¿Realmente necesitamos un generador de código que escriba por nosotros? &#8230;No serán palabras que se lleva el viento&#8230; Votad aquí : ¿necesitas o no necesitas un generador de código fuente para tus proyectos? Para los que se pregunten si hay algún sorteo,esta vez no me lo he planteado ,pero si me convencéis quién sabe Compártelo]]></description>
			<content:encoded><![CDATA[<p><strong>¿Realmente necesitamos un generador de código que escriba por nosotros?</strong></p>
<p><img src="/img/viento.jpg" alt="Palabras que se las lleva el viento" height="389" width="576" /></p>
<p>&#8230;No serán palabras que se lleva el viento&#8230;<br />
Votad aquí : <a href="https://forja.rediris.es/survey/survey.php?group_id=252&amp;survey_id=27" title="Ir a votar en la encuesta" target="_blank">¿necesitas o no necesitas un generador de código fuente para tus proyectos?<br />
<img src="http://www.webdevelopment2.com/wp-content/uploads/what-do-you-look-for-in-a-php-framework-graph.png" border="0" height="385" width="500" /><br />
</a></p>
<p>Para los que se pregunten si hay algún sorteo,esta vez no me lo he planteado ,pero si me convencéis quién sabe  <img src='http://blog.zenphp.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=80&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_80"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/03/19/encuesta-%c2%bfes-necesario-un-generador-de-codigo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

