Вы находитесь на странице: 1из 6

LECCION 5 Instalacin

Instalacin para programadores iniciando con ZF: Descargar la ltima versin estable, disponible en formatos .zip
y .tar.gz.

Programadores experimentados y con la necesidad de obtener la ltima versin disponible: Descargar el


respositorio Git empleando un cliente Git. El repositorio de ZF Git se encuentra pblicamente disponible en GitHub.

Una vez disponible el ZF, la aplicacin puede acceder a las clases del Framework disponibles en la carpeta de la
librera.

Requerimientos ZF2

Debe tener instalado PHP 5.3.3 . El servidor Apache debe tener instalada y configurada la extensin mod_rewrite.

Todos los derechos reservados, prohibida la reproduccin, Instituto Gala de Venezuela 7


Se debe garantizar que Apache est configurado para dar soporte a los archivos .htaccess files. Esto se realiza
colocando en el archivo de configuracin (httpd.conf o dependiendo de la distribuccin)

AllowOverride FileInfo

LECCION 6 Crear un proyecto

Zend ofrece una manera productiva de instalar ZF2 y adems de crear un proyecto o una Aplicacin Web y es
empleando Zend Skeleton Application.

El Zend Skeleton Application se descaga de https://github.com/zendframework/ZendSkeletonApplication


empleando el botn de ZIP y se obtiene un archivo .zip.

Una vez descomprimido este archivo, el directorio producido se coloca en el directorio de la aplicacin web, en este
ejemplo el directorio se llama gala como se muestra a continuacin.

ZendScheletonApplication utiliza Composer (http://getcomposer.org) para resolver las dependencias del proyecto
(el framework ZF2) y generar un archivo de autocarga adems de crear la estructura estndar de los directorios
del proyecto.

En la consola del sistema en el directorio donde se descarg el esqueleto, se colocan los siguientes comandos en
este orden:

php composer.phar self-update


php composer.phar install

Todos los derechos reservados, prohibida la reproduccin, Instituto Gala de Venezuela 8


Se debe tener conexin a internet y el resultado despus de ejecutar los dos comandos debera arrojar

Si la conexin es muy lenta y se produce el resultado

Se puede emplear el comando COMPOSER_PROCESS_TIMEOUT=5000 php composer.phar install en lugar de php


composer.phar install.

Si la creacin del proyecto es correcta, se puede levantar la aplicacin en el navegador, el skeleton crea la pgina
principal en el directorio public.

En el ejemplo si se tipea http://localhost/gala/public/ se obtendr como resultado una pgina de introduccin.

En el archivo index.php del directorio pblico se colocan las instrucciones del ZF2 para iniciar la aplicacin

// Setup autoloading
require 'init_autoloader.php';

// Run the application!


Zend\Mvc\Application::init(require 'config/application.config.php')->run();

Todos los derechos reservados, prohibida la reproduccin, Instituto Gala de Venezuela 9


LECCION 7 Mdulos

ZF 2 emplea un sistema de mdulos y se debe organizar el cdigo especfico de la aplicacin en mdulos segn su
diseo.

El mdulo Application (modulo principal) provisto por el esqueleto es utilizado para proveer bootstrapping, y la
configuracin de los errores y el enrutamiento para la aplicacin. Esto se conoce en otros frameworks como el
FrontEnt Controller.

La estructura de un mdulo en ZF2 contiene los controladores, los modelos, los formularios y las vistas; as como
la configuracin. En el siguiente ejemplo se muestra la estructura de un mdulo llamado Album. Los mdulos se
colocan debajo de la carpeta modules de la carpeta de la aplicacin.

La estructura de un mdulo es la siguiente, tener en cuenta las convenciones de nombres de maysculas y


minsculas.

Los archivos PHP conteniendo las clases dentro del espacio de nombres Album residen en el directorio src/Album y
se pueden tener varios espacios de nombres en un mdulo segn se requiera. El directorio view contiene un
directorio denominado lbum para los scripts asociados a la vista.

Archivo Modulo.php

Para poder cargar y configurar un mdulo, ZF2 ofrece un ModuleManager. Este administrador buscar el archivo
Module.php en la raz del directorio del mdulo (module/Album) y requiere que exista una clase llamada
Album\Module. Por lo tanto, las clases dentro de un mdulo tendrn en espacio de nombres del mdulo, el cual es
el nombre del directorio del mdulo

En el directorio raz del mdulo se coloca el archivo Module.php con el cdigo mostrado a continuacin.
ModuleManager invocar de manera automtica los mtodos getAutoloaderConfig() y getConfig()

Todos los derechos reservados, prohibida la reproduccin, Instituto Gala de Venezuela 10


<?php
namespace Album;
class Module
{
public function getAutoloaderConfig()
{
return array(
Zend\Loader\ClassMapAutoloader => array(
__DIR__ . /autoload_classmap.php,
),
Zend\Loader\StandardAutoloader => array(
namespaces => array(
__NAMESPACE__ => __DIR__ . /src/ . __NAMESPACE__,
),
),
);
}
public function getConfig()
{
return include __DIR__ . /config/module.config.php;
}
}
?>

Archivos de autocarga

El mtodo getAutoloaderConfig() debe retornar un arreglo compatible con el AutoloaderFactory de ZF2. En el


ejemplo se configur para agregar un archivo de mapeo con ClassMapAutoloader y tambin para agregar el
espacio de nombres de este mdulo al StandardAutoloader. El standard autoloader requiere un espacio de
nombres y la ruta donde encontrar los archivos del espacio de nombres. En el caso del ambiente de desarrollo, no
se requieren cargar los archivos va classmap, por lo tanto se retorna un arreglo vaci para el autoloader de
classmap

Se crea un archivo autoload_classmap.php en la raz del mdulo /module/Album:

<?php

return array();

?>

Cuando ModuleManager se consigue un arreglo vaco se redirecciona automticamente al StandardAutoloader.

Archivos de Configuracin

El mtodo getConfig() en Module.php simplemente carga el archivo config/module.config.php, el cual puede tener
por ejemplo el siguiente cdigo:

<?php

return array(

controllers => array(

invokables => array(

Album\Controller\Album => Album\Controller\AlbumController,

),

Todos los derechos reservados, prohibida la reproduccin, Instituto Gala de Venezuela 11


),

view_manager => array(

template_path_stack => array(

album => __DIR__ . /../view,

),

),

);

La informacin de la configuracin en enviada a los componentes relevantes por el ServiceManager. Se requieren


dos secciones: controllers y view_manager. La seccin controllers provee una lista de todos los controladores
provistos por el mdulo. En este ejemplo se tiene un controlador, AlbumController, el cual referencia la clase
Album\Controller\Album. La clave para identificar al controlador debe ser nica a travs de los mdulos, por lo
tanto se le cola como prefijo el nombre del mdulo. En la seccin view_manager, se agrega el directorio de las
vistas a la configuracin TemplatePathStack. Esto permitir encontrar los scripts para las vistas del mdulo
Album almacenadas en el directorio view.

Indicando a la aplicacin los mdulos

Se debe indicar al ModuleManager cules son los mdulos de la aplicacin. Esto se realiza a travs del archivo
application.config.php ubicado en el directorio config de la aplicacin. Se debe agregar una entrada en el arreglo de
configuracin denominado modules.

<?php

return array(

modules => array(

Application,

Album, // <-- Especificacin del mdulo

),

..

LECCION 8 Enrutadores y Controladores

A travs de un ejemplo de un sistema simple de inventario donde se desplegar la coleccin de albums se


mostrarn los conceptos de los enrutadores y los controladores en ZF2.

La pgina principal de la aplicacin listar los albums y permitir agregar, editar y eliminar.

Las pginas requeridas son:

Pgina Descripcin

Principal Lista los albums y muestra enlaces para agregar, editar y eliminar.

Agregar Agrega un nuevo lbum

Todos los derechos reservados, prohibida la reproduccin, Instituto Gala de Venezuela 12

Вам также может понравиться