sercomi’s Blog

El Blog de Sergi Comas, donde escribo acerca de software libre, linux, fotografía ,Internet, PHP, Zend framework, rutas y excursiones.
  • rss
  • Inicio
  • Contacto
  • Mi galería

Organización de un proyecto Zend Framework

Sergi Comas | 14 Marzo 2008

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 la aplicación con Layouts.

Antes de empezar a picar 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 pasará 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.

En el manual de Zend Framework nos enseñan dos maneras de organizar los directorios, una estructura básica y la otra estructurada en modulos. 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 helpers para controllers, archivos temporales de la caché.

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.
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.


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/

Una vez enseñada la estructura voy a dar una pequeña explicación de algunos directorios y archivos:

  • zfApp: Nombre de la aplicación
  • app: Directorio de la aplicación donde irá la estructura MVC (Modelo Vista Controlador).
  • config: Configuraciones Globals.php, config.ini.
  • controllers: Controladores de MVC.
  • layouts: Templates para las vistas si utilizamos el componente Zend_Layout.
  • models: Modelos de los objetos.
  • views: Páginas HTML que se generarán a partir de los controladores.
  • data: Archivos de datos, organizados por carpetas según el tipo de datos a guardar.
  • cache: Donde se guardarán los archivos de caché.
  • indexes: Archivos de índices del buscador.
  • locales: Archivos de internacionalización de la aplicación.
  • logs: Directorio para se guardarán los archivos de log.
  • sessions: Directorio donde guardar las sesiones.
  • uploads: Directorio donde se podrán subirán archivos.
  • docs: Documentación de la aplicación con phpDoc, pdf.
  • html: Directorio público.
  • css: Archivos de estilos.
  • images: Imágenes.
  • js: Archivos javascript.
  • .htaccess: Archivo de Apache para la configuración módulo mod-rewrite.
  • index.php: Archivo bootstrap, archivo PHP de entrada a nuestra aplicación.
  • lib: Librerías Zend y propias.
  • zfApp: Clases y funciones desarrolladas por nosotros, helpers de controllers,... (mismo nombre que la aplicación).
  • Zend: Librería Zend Framework.
  • scripts: Scripts CLI, generar indices Lucene, limpias cachés, SQL.
  • tests: Archivos de test de la aplicación (PHPUnit).
  • tmp: Archivos temporales.

Esta es mi propuesta de cómo se puede organizar un proyecto con Zend Framework.

Categorias
PHP
Tags
framework, layout, PHP, Two-step-view, Zend
Comentarios RSS
Comentarios RSS
Trackback
Trackback

« primera PHPBarcelona Conference Zend Framework 1.5 Final »

7 Responses to “Organización de un proyecto Zend Framework”

  1. Jordi Bufí dice:
    14 Marzo 2008 en 22:07

    Buenas Sergi, hace un tiempo puse en mi blog una guía de estilo para el css y pedí propuestas para mejorarla.

    Uno de los mejores consejos que me dieron y que más útiles nos han resultado es el de meter las imágenes decorativas que se cargan mediante el CSS en un subdirectorio dentro de css, por ejemplo en /css/images

    Las imágenes quedan más ordenadas y las llamada a éstas dentro del CSS es más sencilla.

  2. sercomi dice:
    14 Marzo 2008 en 22:34

    Hola Jordi, tienes razón , no había caído en este detalle, es una buena manera de tener aún mejor organizadas las imágenes y así se consigue que las llamadas a la imágenes desde los CSS más fáciles.

    Muchas gracias.

  3. Eduard dice:
    15 Marzo 2008 en 3:50

    Jejejeje la curiosidad me ha llevado a buscar el comentario con la recomendación del CSS.

    Sergi, què petita es la blogosfera, saps qui és l'Oberkom oi? XD

  4. sercomi dice:
    15 Marzo 2008 en 10:43

    Sí sí, sé qui és, m'he rigut molt quan l'he vist ;-)

  5. Zend Framework 1.5 Final | sercomi's Blog dice:
    17 Marzo 2008 en 21:44

    [...] ← Organización de un proyecto Zend Framework [...]

  6. Jordi Bufí dice:
    18 Marzo 2008 en 14:01

    Doncs jo no sé qui és però em va donar un consell excel.lent :)

  7. Colombia dice:
    30 Enero 2009 en 16:20

    No es necesario crear un directorio images dentro del CSS, para eso se utiliza la referencia al directorio anterior.

    ../images

    Asi debe utilizarse.

    Saludos

Leave a Reply

Clic para cancelar respuesta.

Clasificados

Advertise here

Categorías

  • Blog
  • Excursiones
  • Fotografia
  • General
  • Linux
  • Música
  • P2P
  • Personal
  • PHP
  • Wii
  • Windows

Post más vistos

  • Instalar PHP 5.2x en CentOS Li... - 1.756 views
  • Organización de un proyecto Ze... - 553 views
  • Curso de Fotografía por Xataka... - 425 views
  • Ruta GPS desde Cavall Bernat h... - 338 views
  • Instalar AWN en Gutsy Gibbon - 235 views

Enlaces

  • Dolor Nippon
  • Eduard Corral
  • Iván Comas
  • Nova Zelanda
  • Pol i Xavi
  • Strobist en español
  • Strobist para todos

Mi galería

www.flickr.com
Éste es un módulo Flickr que muestra fotos o videos públicos de Sergi Comas. Crea tu propio módulo aquí.

Anuncios

rss Comentarios RSS valid xhtml 1.1 design by jide powered by Wordpress get firefox