Tus primeros pasos con Zend Framework: Parte 1

Programar debería ser divertido y desafiante, pero cuando reinventamos la rueda o perdemos tiempo en actividades repetitivas y poco creativas, la diversión se esfuma rápidamente.

Los frameworks de desarrollo nos entregan un esquema general de trabajo y código que podemos reutilizar para evitar la reescritura de funcionalidades comunes, permitiéndonos así enfocarnos en desarrollar sólo lo exclusivamente necesario.

En este artículo podrás conocer uno de los principales framework para PHP: Zend Framework. Primero veremos su configuración y, en la segunda parte, el desarrollo de una aplicación de demostración.

1. ¿Qué son los Frameworks?

Mientras más tiempo pasamos programando más clases, funciones y herramientas vamos acumulando, hasta llegar al punto en que tenemos un sistema que aplicamos a cualquier proyecto. El problema con esto es que generalmente tenemos una especie de Frankestein que está hecho de muchas partes (de terceros o programados por nosotros mismos), lo cual implica que sea difícil tenerlo actualizado y funcionando en forma correcta y segura.

Los frameworks, como su nombre lo indica, nos entregan una estructura, armazón o marco para desarrollar nuestros proyectos. En otras palabras, nos entregan una serie de clases, funciones o librerías, que junto a convenciones comunes, se organizan bajo una estructura sobre la cual desarrollamos nuestros proyectos.

Entre las ventajas de usar frameworks, se pueden contar:

  • Facilita integrar a otros personas a tus proyectos ya que se comparten convenciones de desarrollo comunes.
  • No nos preocupamos de mantener actualizadas las distintas partes.
  • No reinventar la rueda, ya que aprovechamos los componentes existentes aumentando la velocidad de desarrollo.

Como desventajas se pueden nombrar:

  • Agrega código adicional que no es tuyo.
  • Hay que invertir tiempo en aprender a usarlos.
  • En algunos casos una aplicación desarrollada con un framework puede ser más lenta (en cuanto a rendimiento) que una diseñada y desarrollada desde cero.

2. ¿Por qué usar Zend Framework?

Existe una gran oferta de frameworks para PHP, unos más maduros que otros, con más documentación que otros o con mejor rendimiento que otros. Igualmente en Internet podemos encontrar una gran cantidad de información comparativa y, en general, opiniones sobre cual es superior al resto.

Luego de haber probado: Symfony, CakePHP, Codeigniter, Kohana y Zend Framework, me queda sólo una conclusión clara: la decisión de cual es el mejor, sólo la puedes tomar tu probando cada uno y analizando cual se adapta mejor a tus necesidades actuales.

En mi caso elegí Zend Framework por las siguientes razones:

  • En general muy buena documentación
  • Una comunidad activa
  • Tiene el respaldo de la compañía que está detrás de PHP: Zend Technologies Ltd.
  • Gran cantidad de componentes, incluidos algunos de Microsoft, Google y Adobe
  • Soporta PHP 5>

Si bien tiene varias ventajas, una de sus desventajas es que es un poco más difícil de aprender que otras alternativas, como por ejemplo Codeigniter (CI) y, además, existen reportes que indican que también tiene un rendimiento menor que el mismo CI.

3. Preparando el Sistema

Nota: Antes de comenzar con la preparación del sistema se asume que el lector conoce la programación orientada a objetos en PHP y el Modelo Vista Controlador (MVC). Además, el proceso de configuración inicial está orientado a sistemas Linux aunque su replicación en sistemas Windows no debería tener mayores complicaciones.

Para preparar nuestro sistema para comenzar a trabajar con Zend Framework debemos verificar que cumplimos con sus requerimientos:

  • PHP versión 5.2.4 o superior
  • Servidor que soporte mod_rewrite

Luego de asegurarnos de cumplir con los requerimientos descargamos Zend Framework desde: http://framework.zend.com/download/latest (te recomiendo la versión “minimal”).

Una vez descargado y descomprimido nos encontramos con el siguiente árbol de directorios:

  • /bin: contiene ejecutables que nos ayudan a realizar algunas actividades comunes, como por ejemplo crear nuevos proyectos.
  • /library: contiene todos los componentes de Zend Framework.
  • INSTALL.txt: se indican los requerimientos y recomendaciones para la instalación del framework.
  • LICENCE.txt: texto de la licencia.
  • README.txt: informa sobre los cambios de la versión descargada respecto a la anterior.

Lo primero que haremos es mover el directorio de Zend Framework a un lugar de nuestra preferencia (por ejemplo, nuestro /home) y agregaremos un alias para los ejecutables. Abrimos una terminal y ejecutamos:

gedit $HOME/.bashrc
alias zf=/home/tu-usuario/ZendFramework-1.9.0-minimal/bin/zf.sh
// Guardamos y cerramos
// Cerramos tambien la terminal

Para probar que hemos realizado todo correctamente abrimos una terminal y ejecutamos lo siguiente:

zf show version

Si todo está correcto debería aparecer el mensaje: “Zend Framework Version: 1.9.0”.
Ya con esto estamos en condiciones de iniciar nuestros proyectos en Zend Framework. Para esto primero vamos al lugar donde crearemos el proyecto (el directorio de nuestro servidor Web). Desde la terminal ejecutamos:

cd /var/www/zf

Una vez dentro de nuestro directorio de trabajo crearemos nuestro primer proyecto:

zf create project primer-proyecto

Si todo va bien deberías ver el mensaje: “Creating project at /var/www/zf/primer-proyecto” y dentro del directorio /var/www/zf/primer-proyecto deberías encontrar lo siguiente:

  • /application: contiene los directorio destinados a nuestra aplicación
  • /library: debe contener todos los componentes de Zend Framework
  • /public: este directorio es el único que debería tener acceso público
  • /tests: directorio destinado a pruebas para tu aplicación.

Como te habrás dado cuenta, en tu proyecto el directorio /library está vacío y como se explicó en el párrafo anterior este debe contener todos los componentes del framework. Luego es necesario que vayamos al directorio que descomprimimos inicialmente (y que lo tenemos en “/home/tu-usuario/ZendFramework-1.9.0-minimal/”) y copiemos el contenido del directorio /library en el de nuestro proyecto.

Si prefieres, en lugar de copiar el directorio /Zend, puedes hacer un enlace simbólico, disminuyendo así el espacio a ocupar.

Si ahora vas a tu navegador y abres http://localhost/zf/primer-proyecto/public/ deberías ver el siguiente mensaje de bienvenida:

1

En la Parte 2 de esta serie veremos como crear nuestro primer proyecto.

Entradas Relacionadas

Tags: , ,

2 comments

Leave a comment