Por favor, haz un clic sobre los anuncios cuando pases por mi blog, ya? =)

Zend Framework 1: Instalación

23 comentarios
Zend Framework (ZF, de ahora en adelante) es un conjunto de librerías que proveen la estructura necesaria para  desarrollar un sistema en PHP de forma rápida, eficiente y con un gran ahorro de escritura de código.

Zend Framework nos ayuda a desarrollar aplicaciones usando la metodología MVC: Modelo-Vista-Controlador, la cual divide la estructura de un sistema en tres partes:
  • Modelo: los archivos (librerías, clases, funciones) relacionados con el acceso a las bases de datos
  • Vista:  los archivos (librerías, clases, funciones)   responsables de la presentación de la información al cliente (generalmente, las páginas con contenido HTML)
  • Controlador:  los archivos (librerías, clases, funciones) que sincronizan las dos partes anteriores y que llevan  a acabo los procesos del sistema.
Este tutorial consta de las siguientes partes:

Zend Framework 1:  Instalacion (el artículo que estás leyendo)
Zend Framework 2: Crear un proyecto usando Netbeans
Zend Framework 3: Estructura del proyecto
Zend Framework 4: Controladores y acciones
Zend Framework 5: El Modelo de datos
Zend Framework 6: Creando las paginas web
Zend Framework 7: Mostrando las paginas web
Zend Framework 8: Creando una plantilla del sistema
Zend Framework 9: Traducir mensajes de error
Zend Framework 10: Trabajando con Ajax
Zend Framework 11: Sesiones, registro, $this->url(), multiples tablas y demases
Zend Framework 12: La importancia de $this->render() y $this->partial() en layout.phtml y las vistas

Descargar el proyecto de ejemplo terminado
    Veamos cómo va esto.


    1 Instalación de Zend Framework

    Antes de instalar ZF debemos tener un ambiente con un servidor HTTP, PHP y algún motor para base de datos. En este tutorial usaremos Apache, PHP 5 y Mysql 5. Aunque hay muchas formas de instalar estos tres programas, por motivos de simplicidad nosotros los instalaremos usando Xampp. (si estas usando Linux, instala los paquetes correspondientes. Es posible que incluso te permitan instalar automáticamente ZF, como en el caso de OpenSuse 11, que es la distro de linux que uso).

    Según la página oficial "XAMPP es una forma fácil de instalar la distribución Apache que contiene MySQL, PHP y Perl. XAMPP es realmente simple de instalar y usar - basta descargarlo, extraerlo y comienzar."


    Para simplificar las cosas, asumiremos que lo instalamos en
    C:\xampp

    Una vez instalado nuestro servidor apache y PHP, lo que haremos será descomprimir ZF en alguna carpeta.
    Asumiremos que lo descomprimimos en
    C:\ZF

    Dentro de esa carpeta veremos varias subcarpetas:
    • bin: contiene el interprete de linea de comandos de ZF
    • demos
    • externals
    • extras contiene, entre otras cosas, librerías adicionales para crear objetos de JQuery desde ZF
    • incubator
    • library : contiene las clases en PHP que forman el Zend Framework
    • resources contiene las traducciones de los mensajes de ZF a varios lenguajes
    • src
    • tests

    Lo primero que debemos hacer es colocar la ruta donde descomprimimos ZF en la variable include_path en nuestro archivo php.ini. Sin embargo, si descargamos  Xampp, nos daremos cuenta de que este ya viene con una versión de ZF pero más antigua. Para simplificar nuestro proceso de instalación, reemplazaremos la carpeta del ZF que viene con Xampp por nuestra versión más moderna de ZF.

    Para hacerlo reemplazaremos  el contenido de
    C:\xampp\php\PEAR\Zend

    por el contenido de
    C:\ZF \library\Zend

    De esta forma, estamos colocando la última versión de ZF en las librerías de nuestro PHP.

    Ahora, reemplazaremos estos archivos:
    • C:\xampp\xampp\php\zf.bat
    • C:\xampp\xampp\php\zf.php
    por
    • C:\ZF \bin\zf.bat
    • C:\ZF \bin\zf.php

    Ahora, lo último que deberemos hacer es colocar la carpeta C:\xampp\php\ en la variable PATH de Windows, para que nos sea más fácil trabajar con él (más adelante veremos para qué nos servirá).

    Una vez hecho esto, comprobaremos si ZF está correctamente instalado. Abrimos una consola de windows (Win+R  y escribimos 'cmd' sin comillas) y tecleamos:


    zf show version

    Debería mostrarnos:
    Zend Framework Version: 1.11.10
    (que es la versión que yo he instalado)


    En caso de que muestre una versión anterior, revisa los pasos anteriores.
    En caso de que al escribir zf show version la consola diga

    “zf show version no se reconoce como comando interno y externo... bla bla...”  

    asegúrate de que has incluido en la variable ambiente PATH la ruta donde se encuentra el archivo zf.bat (si estás instalando esto en Linux, obviamente deberías haber incluído el zf.sh, pero esa es harina de otro costal)

    Ahora, abramos de nuevo una consola y escribamos:
    zf --setup config-file

    Esto crea un archivo llamado .zf.ini en nuestro directorio de usuario (en Windows esto es en  C:\Documents and Settings\tu_nombre_de_usuario y en Linux es en $HOME) donde guarda algunas preferencias personales para usar ZF como el include_path y la clase CommandProvider, que es necesaria para usar ZF dentro de Netbeans.


    ¡Y listo, ya tenemos ZF instalado en nuestro computador! Fue fácil, no?

    Ahora, ¿cómo crear un proyecto usando ZF ? Lee el siguiente artículo

    23 comentarios :

    Rotsen reivaj dijo...

    Podrias decir por favor que utiliza Zf para conectarse a una base de datos, por ejemplo utiliza PDO o puede utilizarse drivers nativos?

    Angelorum dijo...

    Utiliza PDO, hasta donde yo sé. No se si se podran usar otros drivers nativos. Mira la 5ta parte de este tutorial http://angelorum.blogspot.com/2010/09/zend-framework-5-el-modelo-de-datos.html aca se explica como se indica el driver a usar.

    Anónimo dijo...

    Una duda. Dices que en la variable PATH se debe colocar C:\ZF \bin\zf.bat pero antes ya enviaste los archivos de Zend a C:\xampp\php\PEAR\Zend
    para reemplazar y actualizar. Por tanto, no deberias copiar en el path la direccion C:\xampp\xampp\php\zf.bat Esa es mi duda, espero la despejes.
    Excelente blog, sigue escribiendo proyectos reales con zend. Gracias

    Angelorum dijo...

    tienes toda la razon! XD

    lo corrijo ahora, gracias :P

    Travianero dijo...

    Leido este primer articulo. Todo muy bien. Solo hacer los apuntes que para colocar la direccion en las variables de entorno Path solo se pone C:\xampp\php\ y no se escribe el archivo zf.bat, debido a que los las variables de entorno path indican la direccion donde se ejectua el archivo ;). Y otro punto es que luego de colocar la variable de entorno, no se olviden de reiniciar el ordenador. Por lo demas todo perfecto Angelorum. Gracias por el aporte, seguire con el siguiente capitulo ;)

    Angelorum dijo...

    Gracias por la corrección de colocar solo la carpeta en la variable PATH, me equivoqué al describir eso.
    Pero no es necesario reiniciar el pc, basta con cerrar la consola y abrirla de nuevo ;)

    Anónimo dijo...

    La verdad que esta buenísimo lo del Tuto con proyecto Real y mas si es Zen que me gustaría dominar este excelente Framework que ya me comentaron Angelorum ahora por favor me gustaría que me ayuda ya instale el xampp ahora la parte de renombrar C:\ZF \library\Zend esta linea me gustaria que me detallaran un poco ya que no domina tanto las lineas de comando de windows

    Saludos

    Angelorum dijo...

    La parte en que tienes dudas es donde dice:
    "Para hacerlo reemplazaremos el contenido de
    C:\xampp\php\PEAR\Zend

    por el contenido de
    C:\ZF \library\Zend" ??

    Simple :P : copias las carpetas y archivos que estan en C:\ZF \library\Zend a C:\xampp\php\PEAR\Zend


    ¿era eso lo que preguntabas? espero que haya sido asi

    saludos :)

    Anónimo dijo...

    OK gracias ya entendí ahora otra consulta especificamente lo que esta mas abajo no me esta saliendo es este parte

    Ahora, lo último que deberemos hacer es colocar la carpeta G:\xampp\xampp\php\ en la variable PATH de Windows, para que nos sea más fácil trabajar con él (más adelante veremos para qué nos servirá).

    Cual seria la variable path de windows
    Agradeceria tu ayuda

    Saludos

    Angelorum dijo...

    Segun saque de un foro:

    "Son varios pasos , pero muy sencillo
    Vas a "mi pc" boton derecho , PROPIEDADES
    OPCIONES AVANZADAS
    VARIABLES DE ENTORNO
    VARIABLES DE SISTEMA`
    PATH"

    más detalles acá: http://www.computerhope.com/issues/ch000549.htm

    Anónimo dijo...

    Hola Amigo...

    Gracias por tu Blog, me sirvió mucho.

    Soy nuevo en Php, me dedico a net y java.

    Gracias.
    Santiago Cruz
    ujat55@yahoo.com.mx

    RBriones dijo...

    :) Me gustó este lugar.

    ingeniero dijo...

    al momento de digitar zf show version en el cmd me sale un error ZF ERROR In order to run the zf command, you need to ensure… y incluyo una nueva variable de sistema llamada zend_tool_..... pero no me hace nada sale el mismo error agradesco su colaboracion

    Perld dijo...

    Hola aunque muy buen tutorial. después de haber leído muchimos. con este tampoco pude configurar zend framework correctamente y es realmente frustrarte. He trabajado con php durante años y he decidido ultimamente adoptar un framework.

    Aqui Mis complicaciones:

    1- Instalé xampp (ulima versión al dia de la fecha). y no existe ninguna carpeta C:\xampp\php\PEAR\zend. (esto no es problema. simplemente la cree y remplazé por la carpeta C:\zf\library\zend como lo indica el tuto) lo escribo para que quede asentado.


    2- el tutorial indica una ruta G:\XAMPP\XAMPP\PHP\, aqui realmente me perdí. Te estaras refiriendo a C:\xampp... o realmente necesito dos particiones para hacer esta instalación mi pregunta es, que es G:\ ? otro disco. un error de tipeo?. por que G: y no D: en todo caso.

    3- Relacionada con (2). no tengo ninguna carpeta xampp. dentro de mi carpeta xampp.. es decir. C:\xampp\xampp- no existe. Solo existe C:\xampp\ (y un monton de carpetas dentro de esta, ninguna llamada xampp) la debo crear?.


    Muchas gracias de antemano!
    Saludos

    Angelorum dijo...

    Hola, Perls. Respecto a tus dudas:
    1- Instalé xampp (ulima versión al dia de la fecha). y no existe ninguna carpeta C:\xampp\php\PEAR\zend.

    que raro... en la mía sí...

    2- el tutorial indica una ruta G:\XAMPP\XAMPP\PHP\,
    Efectivamente, quería decir la carpeta c:/xampp/php


    3- Relacionada con (2). no tengo ninguna carpeta xampp. dentro de mi carpeta xampp.. es decir. C:\xampp\xampp- no existe.

    Me quería referir a la carpeta
    C:/xampp

    Gracias por las observaciones.

    Saludos :)

    Perld dijo...

    Muchas gracias angelorum! :) voy a seguir el tuto con esas indicaciones y a ver que pasa.

    Saludos! - graciassss

    Jhon dijo...

    hola, muy bueno tu blog, espero sigas construyendo este tipo de información que es bastante valiosa.
    Mi duda es la siguiente:
    ya descargue el ZF lo descomprimí, pero tengo instalado en mi maquina el wamp server (obvio para windows cierto) pero la verdad no se si puedo configurarlo de la misma manera que lo haces con Xampp??
    e intentado pero la verdad cuando hago lo del localhots... no me muestra nada en el navegador, y si hago por ejemplo localhost:8080 esto solo me muestra la pagina principal del wamp server y todo lo demás que hasta ahí esta bien. pero el problema ya es con la configuración de ZF.
    Agradecería mucho tu información. bye.

    Anónimo dijo...

    hola!, podrías explicarme como hago correr una aplicación hecha en Zend en un hosting compartido?. Gracias!.

    Anónimo dijo...

    me salvaste! no em andaba, era por el .bat, estaba hace una hora dando vueltas

    Hanna dijo...

    vaya, yo tampoco tengo en xampp ninguna referencia anterior a zf. Ni tengo c:\xampp\php\zf.bat, ni zf.php ni ninguna carpeta c:\xampp\php\PEAR\zend

    :-?

    Pero es igual, yo las creo y tiraremos p'alante ;-)

    Gracias!

    marco-antonio1 dijo...

    Buen día tengo una duda:
    La versión de XAMPP 1.8.0 contiene estos directorios
    C:\xampp\php\pear\PEAR\
    y
    C:\xampp\php\pear\PHP\CodeSniffer\Standards\Zend\

    ¿puedo crear C:\xampp\php\pear\?
    o ¿debo utilizar C:\xampp\php\pear\PEAR\?
    o ¿puedo usar C:\xampp\php\pear\PHP\CodeSniffer\Standards\Zend\?

    ¿cual directorio seria más conveniente? o ¿es lo mismo?

    Kathy dijo...

    Excelente tutorial!!!.. me sirvió de mucho..gracias!!

    Luis Enrique Hilario Esteban dijo...

    en cualquier versión de xamp no hay carpeta zend por default