<?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>sercomi's Blog &#187; layout</title>
	<atom:link href="http://www.sercomi.com/tag/layout/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sercomi.com</link>
	<description>El Blog de Sergi Comas, donde escribo acerca de software libre, linux, fotografía ,Internet, PHP, Zend framework, rutas y excursiones.</description>
	<lastBuildDate>Fri, 03 Sep 2010 06:59:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Zend Framework 1.5 Final</title>
		<link>http://www.sercomi.com/2008/03/17/zend-framework-15-final/</link>
		<comments>http://www.sercomi.com/2008/03/17/zend-framework-15-final/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 19:44:50 +0000</pubDate>
		<dc:creator>Sergi Comas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.sercomi.com/2008/03/17/zend-framework-15-final/</guid>
		<description><![CDATA[En el último post hablaba de cómo organizar un proyecto para Zend Framework, cómo crear directorios para diversos componentes, como son los índices para lucene, caché, logs y demás. Pues hoy 17 de Marzo de 2008 ha sido presentada oficialmente la nueva versión de este Framework, la versión 1.5, que viene con las mejoras que [...]]]></description>
			<content:encoded><![CDATA[<p>En el último post hablaba de cómo <a href="http://www.sercomi.com/2008/03/14/organizazion-de-un-proyecto-zend-framework/" title="Organización de un proyecto zend framework" target="_blank">organizar un proyecto para Zend Framework</a>, cómo crear directorios para diversos componentes, como son los índices para lucene, caché, logs  y demás.</p>
<p>Pues hoy 17 de Marzo de 2008 ha sido presentada oficialmente la nueva versión de este Framework, la versión 1.5, que viene con las mejoras que ya expliqué en la entrada de la primera versión, la <a href="http://www.sercomi.com/2008/01/29/zend-framework-15-preview-release/" title="Zend Framework Preview Release" target="_blank">Preview release</a>.</p>
<p>Uno de los añadidos que más se había esperado era el <a href="http://framework.zend.com/manual/en/zend.layout.html#zend.layout.introduction" title="Zend_Layout introduction" target="_blank" rel="nofollow">Zend_Layout</a>, que es el componente que nos permite crear un <em>Template </em>para nuestro sitio y así favorecer enormemente la tarea de hacer el <em>site</em> lo más uniforme posible, a la vez que facilita mucho la programación.</p>
<p>Aunque la documentación, fuera del manual, aún deja un poco que desear os dejo unos enlaces a unos tutoriales que enseñan tanto a empezar con <strong>Zend Framework 1.5</strong>, como a utilizar <strong>Zend_Form</strong> y <strong>Zend _Layout</strong>.</p>
<ul>
<li><a href="http://akrabat.com/zend-framework-tutorial/" title="Tutorial getting started with zend framework 1.5" target="_blank">Getting Started with Zend Framework 1.5</a></li>
<li><a href="http://akrabat.com/2008/02/21/simple-zend_form-example/" title="Tutorial simple Zend_Form example" target="_blank">Simple Zend_Form example</a></li>
<li><a href="http://akrabat.com/2007/12/11/simple-zend_layout-example/" title="Tutorial simple Zend_Layout example" target="_blank">Simple Zend_Layout example</a></li>
</ul>
<p style="text-align: center"><a href="http://framework.zend.com/" target="_blank" rel="nofollow" title="Zend Framework"><img src="http://www.sercomi.com/wp-content/uploads/2008/03/zf15.png" alt="Zend Framework" /></a></p>
<p>Y junto con la presentación de esta nueva versión también se ha efectuado una remodelación del sitio de Zend Framework para hacerlo más accesible.</p>
<p>Tutoriales de la página <a href="http://akrabat.com/" title="Akra's DevNotes" target="_blank" rel="nofollow">Akra's DevNotes</a> (en Inglés)</p>
<img src="http://www.sercomi.com/?ak_action=api_record_view&id=53&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.sercomi.com/2008/03/17/zend-framework-15-final/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Organización de un proyecto Zend Framework</title>
		<link>http://www.sercomi.com/2008/03/14/organizacion-de-un-proyecto-zend-framework/</link>
		<comments>http://www.sercomi.com/2008/03/14/organizacion-de-un-proyecto-zend-framework/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 19:30:13 +0000</pubDate>
		<dc:creator>Sergi Comas</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[Two-step-view]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.sercomi.com/2008/03/14/organizazion-de-un-proyecto-zend-framework/</guid>
		<description><![CDATA[Con la llegada de la nueva versión de Zend Framework, la 1.5, se han añadido nuevos componentes para facilitarnos el desarrollo de aplicaciones php con dicho framework. Una de las características más importantes que incorpora es la que nos permite desarrollar la aplicación diseñando con el patrón Two-Step-View o lo que es lo mismo diseñando [...]]]></description>
			<content:encoded><![CDATA[<p>Con la llegada de la nueva versión de <strong>Zend Framework</strong>, la 1.5, se han añadido nuevos componentes para facilitarnos el desarrollo de aplicaciones php con dicho framework.</p>
<p>Una de las características más importantes que incorpora es la que nos permite desarrollar la aplicación diseñando con el patrón <em><a href="http://www.martinfowler.com/eaaCatalog/twoStepView.html" title="Two setp view pattern" target="_blank">Two-Step-View</a></em> o lo que es lo mismo diseñando la aplicación con <em><a href="http://framework.zend.com/manual/en/zend.layout.html" title="Zend Layout manual" target="_blank">Layouts</a></em>.</p>
<p>Antes de empezar a <em>picar </em>código debemos pensar un poco en la estructura de directorios para nuestro proyecto, cómo organizar los archivos php, javascript, css, templates,... porque, si lo vamos haciendo sobre la marcha, nos <strike>pasará</strike> puede pasar que acabemos creando archivos donde no toca o directorios con archivos php que no tienen nada que ver entre sí y esto nos dará muchos problemas a la hora de llevar a cabo el mantenimiento de la aplicación.</p>
<p>En el manual de Zend Framework nos enseñan dos maneras de organizar los directorios, una <a href="http://framework.zend.com/manual/en/zend.controller.html#zend.controller.quickstart.go.directory" title="Zend Framework basic filesystem directory structure" target="_blank">estructura básica</a> y la otra <a href="http://framework.zend.com/manual/en/zend.controller.modular.html" title="Zend Framework conventional modular directory structure" target="_blank">estructurada en modulos</a>. Pero estás dos soluciones se quedan un poco cortas a medida que la aplicación va creciendo, y después no sabemos donde crear los <em>helpers </em>para <em>controllers</em>, archivos temporales de la caché.</p>
<p>En esta entrada quería enseñar una forma un poco más completa (que no tiene que ser la mejor) de estructurar un proyecto web basado en este Zend Framework.<br />
Los directorios están pensados para la utilización de los componentes que nos aporta Zend Framework (caché, Lucene, locales,...) y también para guardar otros archivos que no están directamente relacionados con Zend pero sí con nuestro proyecto, como son los scripts SQL, scripts de línea de comandos CLI, PHPUnit, documentación.</p>
<pre>
<code>
zfApp/
    app/
        config/
        controllers/
        layouts/
        models/
        views/
            filters/
            helpers/
            scripts/
    data/
        cache/
        indexes/
        locales/
        logs/
        sessions/
        uploads/
    docs/
    html/
        css/
        images/
        js/
        .htaccess
        index.php
    lib/
        zfApp/
        Zend/
    scripts/
    tests/
    tmp/
</code></pre>
<p>Una vez enseñada la estructura voy a dar una pequeña explicación de algunos directorios y archivos:</p>
<ul>
<li><strong>zfApp</strong>: Nombre de la aplicación</li>
<li><strong>app</strong>:                 Directorio de la aplicación donde irá la estructura <a href="http://es.wikipedia.org/wiki/Modelo_Vista_Controlador" title="Wikipedia: Modelo Vista Controlador" target="_blank">MVC</a> (Modelo Vista Controlador).</li>
<li><strong>config</strong>:            Configuraciones Globals.php, config.ini.</li>
<li><strong>controllers</strong>:<strong> </strong>Controladores de MVC.</li>
<li><strong>layouts</strong>:<strong> </strong>          Templates para las vistas si utilizamos el componente Zend_Layout.</li>
<li><strong>models</strong>:<strong> </strong>Modelos de los objetos.</li>
<li><strong>views</strong>:<strong> </strong>   Páginas HTML que se generarán a partir de los controladores.</li>
<li><strong>data</strong>:<strong> </strong>Archivos de datos, organizados por carpetas según el tipo de datos a guardar.</li>
<li><strong>cache</strong>:<strong>            </strong>Donde se guardarán los archivos de caché.</li>
<li><strong>indexes</strong>:<strong>            </strong>Archivos de índices del buscador.</li>
<li><strong>locales</strong>:<strong> </strong>Archivos de internacionalización de la aplicación.</li>
<li><strong>logs</strong>: Directorio para se guardarán los archivos de log.</li>
<li><strong>sessions</strong>:<strong>        </strong>Directorio donde guardar las sesiones.</li>
<li><strong>uploads</strong>:<strong> </strong>Directorio donde se podrán subirán archivos.</li>
<li><strong>docs</strong>: Documentación de la aplicación con phpDoc, pdf.</li>
<li><strong>html</strong>: Directorio público.</li>
<li><strong>css</strong>: Archivos de estilos.</li>
<li><strong>images</strong>: Imágenes.</li>
<li><strong>js</strong>: Archivos javascript.</li>
<li><strong>.htaccess</strong>: Archivo de Apache para la configuración módulo mod-rewrite.</li>
<li><strong>index.php</strong>: Archivo bootstrap, archivo PHP de entrada a nuestra aplicación.</li>
<li><strong>lib</strong>: Librerías Zend y propias.</li>
<li><strong>zfApp</strong>: Clases y funciones desarrolladas por nosotros, helpers de controllers,... (mismo nombre que la aplicación).</li>
<li><strong>Zend</strong>: Librería Zend Framework.</li>
<li><strong>scripts</strong>: Scripts CLI, generar indices Lucene, limpias cachés, SQL.</li>
<li><strong>tests</strong>: Archivos de test de la aplicación (PHPUnit).</li>
<li><strong>tmp</strong>: Archivos temporales.</li>
</ul>
<p>Esta es mi propuesta de cómo se puede <strong>organizar un proyecto con Zend Framework</strong>.</p>
<img src="http://www.sercomi.com/?ak_action=api_record_view&id=52&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.sercomi.com/2008/03/14/organizacion-de-un-proyecto-zend-framework/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->