viernes, 6 de enero de 2012

ZendFramework 0

Aspectos generales.

Framework, Compendio de librerías, módulos o bibliotecas de software probadas, seguras y de uso recurrente en la programación, su estructura facilitan el desarrollo rápido de aplicaciones (RAD). 

Zend Framework (ZF),  es un framework 100% orientado a objetos basado en PHP 5, que implementa dentro de su estructura el patrón de diseño MVC( Modelo - Vista- Controlador), su baja dependencia entre sus librerías o componentes permite utilizarlas de manera independiente.


Instalación

Previo a la instalación del ZF  se ha instalado XAMPP 1.7.3 para disponer de nuestro servidor Apache, php y MySQL, aunque esta disponible de forma gratuita Zend Server Community Edition (CE) versión 5.6 como opción alternativa. 

Necesita descargar de http://framework.zend.com/download/latest  la versión Zend Framework 1.11.11 Full, aunque sólo utilizaremos dos directorios, esta versión trae demos y documentación importante para mejorar nuestros conceptos de este importante framework.


Para efectos de nuestro ejemplo creamos en C:\ un directorio (c:\zend) y copiamos los directorios bin y library. El directorio bin contiene el archivo zf.bat que nos permitirá utilizar Zend Tools desde la linea de comandos para crear proyectos, adicionar controladores, modelos, vistas, etc. El directorio library contiene todas la clases propias del Framework.

Se debe adicionar al  PATH en variables de entorno la ruta de ubicación de php.exe, library y bin. para hacerlo nos ubicamos en MiPC ->Propiedades ->Opciones Avanzadas->Varaibles de Entorno




Los cambios en el PATH tendrán efecto después de reiniciar el sistema, para verificar las modificaciones, abrimos una consola de texto y digitamos PATH


Para verificar desde la línea de comandos la correcta instalación de ZF podemos digitar algunos comandos de zend tools.

C:\zf show versión 
Zend Framework Version: 1.9.6
Este comando muestra la versión instalada de ZF; en nuestro ejemplo aparece la versión 1.9.6 y debería aparecer 1.11.11, esto se debe a que algunas versiones de xampp tienen por defecto dentro del directorio PHP\PEAR una librería de ZEND, esta puede provocar algunos conflictos por ser una versión desactualizada. Para superar este inconveniente nos ubicamos dentro de la carpeta PHP de la instalación de xampp y abrimos el archivo PHP.INI buscamos la linea 

include_path = ".;C:\xampp\php\PEAR" 

y le adicionamos como primer orden la ruta de la librería actualizada, con esto al solicitar nuevamente la versión mostrará la versión correcta.

include_path = ".;C:\zend\library;C:\xampp\xampp\php\PEAR"

C:\zf show versión 
Zend Framework Version: 1.11.11

Con esta linea adicionada evitaremos también el mensaje de error en el navegador solicitando zend/application.

Antes de comenzar a crear nuestro proyecto es importante practicar con la línea de comandos de Zend Tools, para comenzar utilizaremos

zf --help
Esta línea nos mostrará todas las diferentes opciones que tenemos desde la línea de comandos, cómo debe ser la sintaxis para realizar las peticiones.

zf show phpinfo
Mostrará la configuración actual que tiene PHP, directivas y sus correspondientes valores, si esta activa o no algún tipo de soporte para funciones especificas, mejoramiento de la seguridad, etc.

zf create project 
Su sintaxis completa es: zf create project path name-of-profile file-of-profile y para crear nuestro proyecto debemos estar dentro del directorio HTDOCS (xampp) que constituye la raíz de todos los proyectos a nivel local.
como ejemplo crearemos nuestro proyecto "contabilidad" así: zf create project contabilidad 

Después de crear el proyecto debemos configurar el VHOST y si deseamos realizar pruebas unitarias debemos incluir en el include_path la ruta donde se encuentra PHPUnit.

Imagen de la estructura del proyecto
  • Un archivo .zfproject.xml que guarda la información del proyecto
  • El directorio application donde están los directorios models,controllers, views, configs y el archivo Bootstrap.php
  • Directorio docs, aquí se puede guardar documentación especifica o relevante del proyecto,
  • Directorio library, aquí deberá estar el compendio de librerías de zendframework cuando el sitio es subido al servidor, para efectos de trabajo local este directorio estará vacio.
  • Directorio public, dentro de este estarán los directorios de imágenes, librerías javascript,Hojas de estilo CSS, el archivo index.php y .htacces 
Ya creado el proyecto procedemos a configurar nuestro VIRTUAL HOST para que las peticiones desde nuestro navegador faciliten la ubicación de nuestro proyecto.

Primero vamos a C:\WINDOWS\system32\drivers\etc\hosts y adicionamos 

127.0.0.1   contabilidad
127.0.0.1   otroProyecto
..

Ahora vamos al archivo httpd-vhosts.conf que se encuentra ubicado en C:\xampp\apache\conf\extra y eliminamos el signo ‘#’ de la línea #NameVirtualHost *:80
Quedando así habilitada para crear nombre virtuales. Procedemos entonces a crear los diferentes vhost

ServerName:
El parámetro ServerName indica el nombre del Servidor que administra Apache, en otras palabras el sitio en cuestión; esto puede ser www.osmosislatina.com, www.google.com.

DocumentRoot:
El parámetro DocumentRoot indica el Directorio raíz del proyecto

DirectoryIndex:
El parámetro DirectoryIndex indica el primer archivo (index.php en este caso) que cargará apache. Es el punto de entrada a la aplicación web

AllowOverride All: Permite que todas las directivas .htaccess de ese directorio tengan prioridad sobre las establecidas en el archivo de configuración de apache. Si se cambia All por None, la configuración del nivel superior prevalece sobre la especificada en .htaccess.  

Order allow, deny:
Allow from all:
Indica el orden de permisos de las líneas siguientes, en este caso primero se pertime(allow)y luego de niega(deny), e inmediatamente debajo  allow from all, indicando que tiene permitido todas las peticiones.

Mod_Rewrite

Para que las peticiones hechas a través del navegador sean controladas por un solo archivo (index.php) debemos descomentar una linea del archivo httpd.conf que se encuentra ubicado en el directorio de apache\conf.

#LoadModule rewrite_module modules/mod_rewrite.so


De esta forma nuestra aplicación quedará habilitada para que el archivo .htaccess enrute todas las peticiones url hacia una sola entrada.



Para que Apache actualice todos los cambios realizados, vamos al panel de administración de xampp y damos Click en  STOP en apache y reiniciamos el servicio dandole START


Para verificar todo el procedimiento simplemente abrimos nuestro navegador y digitamos en la barra de direcciones http://contabilidad, y deberá aparecer la bienvenida de Zend Framework.


No hay comentarios:

Publicar un comentario

Gracias por sus comentarios!