Instalar Zend Framework y Zend_Tool para construir proyectos en Windows

Portada del libro "Zend Framework Beginning"Ya sea para iniciar un nuevo proyecto, o para empezar a hacer pruebas con Zend Framework y aprender, necesitamos primero instalar Zend Framework. La instalación puede ser muy simple con solo copiar la carpeta donde esta la librería; pero se puede utilizar la herramienta Zend_Tool que nos permite realizar operaciones como crear proyecto, módulo, controlador, … actualizando el profile del proyecto en todo momento.

El entorno en el que esta hecho este pequeño tutorial es en Windows, habiendo instalado como servidor el conjunto de servidores que contiene XAMPP (Apache, MySQL, PHP, …). Si se ha hecho una instalación por defecto, XAMPP estará instalado en la ruta “C:\xampp\” y dentro estará la carpeta “php” que contiene el módulo de PHP y la carpeta “htdocs” donde esta el sitio web por defecto. En esta última carpeta se ha creado una carpeta de prueba llamada “testzf” para realizar allí esta tutorial.

Una vez descargado Zend Framework (actualmente la versión 1.10), ya sea el paquete Full o Minimal, se puede proceder a seguir el tutorial:

  • Del archivo comprimido de Zend Framework, extraer las carpetasbin” y “library” y copiarlas a la carpeta “C:\xampp\htdocs\testzf“.
  • Abrir una línea de comandos, pulsando Inicio->Ejecutar, escribir “cmd” y Aceptar.
  • Situarse en la carpeta “C:\xampp\htdocs\testzf“:
    cd C:\xampp\htdocs\testzf
  • Editar el PATH de Windows para que ejecute comandos de la carpeta “C:\xampp\php“:
    SET PATH=%PATH%;C:\xampp\php
  • Para comprobar que ha funcionado, ejecutar los siguientes comandos que devuelven las versiones de PHP y de Zend Framework:
    php -version
    zf show version
  • Como se puede ver, la versión Zend Framework que devuelve no coincide con la versión que se ha copiado. Esto se debe a que XAMPP, en los numerosos paquetes que trae, se incluye una versión de Zend Framework: con XAMPP 1.7.3, viene la versión 1.9.6. Físicamente, ese Zend Framework se encuentra en la carpeta “C:\xampp\php\PEAR\Zend“. Para hacer que PHP detecte la versión que se ha instalado, hay que editar el archivo “C:\xampp\php\php.ini” y buscar la siguiente línea:
    include_path = ".;C:\xampp\php\PEAR"

    Modificarla para añadir el path a la librería copiada:

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

    CUIDADO! El orden de los paths importa, ya que sinó se pueden detectar conflictos al cargar ambas librerías a la vez. La regla es: primero la más nueva y después las siguientes.

  • Si se vuelve a solicitar la versión de Zend Framework, ya tendría que salir la versión que se ha copiado:
    C:\xampp\htdocs\testzf\library> zf show version
    Zend Framework Version: 1.10.0
  • Ahora hay que sustituir la herramienta Zend_Tool que viene con XAMPP. Primero hay que renombrar dos archivos para no perderlos, y después copiar los archivos de Zend_Tool de la nueva librería:
    rename C:\xampp\php\zf.bat zf.bat.bak
    rename C:\xampp\php\zf.php zf.php.bak
    copy C:\xampp\htdocs\testzf\bin\zf.bat C:\xampp\php
    copy C:\xampp\htdocs\testzf\bin\zf.php C:\xampp\php
  • Una vez instalado todo, se puede proceder a utilitzar la herramienta Zend_Tool. Para poder ver las diferentes opciones que ofrece esta herramienta, hay que ejecutar:
    zf --help
  • Lo primero es crear el proyecto, ejecutando:
    zf create project C:\xampp\htdocs\testzf
  • En la carpeta del proyecto se ha construido la estructura de directorios del proyecto, y un archivo con nombre “.zfproject.xml“. Este archivo es el profile del proyecto.

Según la arquitectura de Zend Framework, todas las peticiones tienen que dirigirse al archivo “C:\xampp\htdocs\testzf\public\index.php“. Para ello, hay que crear un VirtualHost en el Apache, operación que se realiza en dos simples pasos:

  • Primero hay que modificar el sistema de Windows para resolver DNSs. Se edita el archivo “C:\WINDOWS\system32\drivers\etc\hosts“, y al final del archivo se añade la siguiente línea:
    127.0.0.1       testzf

    Así, cuando se le solicite a Windows por este dominio (testzf), hará las peticiones a si mismo haciendo un loopback.

  • Ahora hay que configurar Apache, para que las peticiones que reciba solicitando el dominio introducido antes (testzf), se dirijan hacia la carpeta pública según Zend Framework. Para ello, hay que editar el archivo “C:\xampp\apache\conf\extra\httpd-vhosts.conf“, y descomentar la línea:
    ##NameVirtualHost *:80

    Eliminando las almohadillas:

    NameVirtualHost *:80

    Y añadiendo al final las siguientes líneas que indican el dominio y la carpeta:

    <VirtualHost *:80>
    	ServerName localhost
    	DocumentRoot "C:/xampp/htdocs/"
    	ServerAdmin admin@localhost
    </VirtualHost>
     
    <VirtualHost *:80>
        ServerName testzf
        DocumentRoot "C:/xampp/htdocs/testzf/public"
        SetEnv APPLICATION_ENV "development"
     
        <Directory "C:\xampp\htdocs\testzf\public">
            DirectoryIndex index.php
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>

Si todo ha ido correctamente y reiniciando el servidor Apache para que los cambios surjan efecto, al utilizar un navegador y solicitar la página web “http://testzf”, se tiene que obtener página como la siguiente:

Screenshot de Zend Framework

Falta comentar que la modificación del PATH se pierde cuando se cierra la ventana de línea de comandos. Para hacer permanentes las modificaciones, hay que modificar las “Variables de entorno“.

Más información en los siguientes links:

40 comentarios en “Instalar Zend Framework y Zend_Tool para construir proyectos en Windows

  1. Se puede simplemente reemplazar la carpeta Zend de la carpeta PEAR?
    o esto ocasionaria algun tipo de error?

  2. Muy útil, solo un dato:
    Cuando se crea el proyecto con
    zf create project C:\xampp\htdocs\testzf
    es mejor entrecomillar el path:
    zf create project “C:\xampp\htdocs\testzf”
    pues pueden haber problemas si tu path tiene espacios

  3. Magnifico articulo, lo seguí paso a paso y en unos 30 minutos obtuve la tan esperada pagina de “Welcome to the Zend Framework!”.

    Muy pero muy claro, se nota la calidad del blog y la experiencia de autor. Me acabo de suscribir al feed…

    Solo un par de cosas mas, ya esta funcionando en modo local, pero si quiero trabajar con ZF en mi dominio pagina.com que tendría que hacer (hosting Linux)?

    Y segundo, me he decidido a aprender este framework porque en la bolsa de empleo muchas empresas de programación lo piden, es mas, solo habia un anuncio solicitando experiencia en cake php y los demás frameworks php ni rastro…

    Existe algún libro en español aparte del PDF de la documentación oficial?, ya que esta traducida solo un 30% creo.

    Bueno, de nuevo mil gracias y espero dominar ZF a la perfección, me gusta mucho el 100% orientado a objetos porque vengo de programar mas de dos años y medio con Java así que me siento muy cómodo.

    Por favor continua con los tutoriales de Zend, de verdad que hay poco en Internet y esto vale pero mucho…

  4. Primero que nada, muy bueno el tuto!
    y una pregunta: una vez que ya tengo configurado el zend framework de esta manera, ya puedo instalarme el zend studio y empezar a crear una web?

    perdon por mi ignorancia, estoy empezando con el zend :P

  5. @ariel Desconozco como funciona Zend Studio, utilizo Netbeans. Supongo que Zend Studio ofrecerá algún sistema para crear proyectos de Zend Framework, en la ubicación que le indiques; pero igualmente tendrás que configurar el XAMPP.

    También existe la opción de Zend Server, que viene integrado con Zend Studio: es un servidor web mejor integrado y quizás más fácil para proyectos Zend Framework.

    Espero haber sido de ayuda

  6. Muchas gracias por tu respuesta. La realidad es que siempre trabajé con PHP POO por mi cuenta, y ahora estuve mirando frameworks para agilizar un poco la cosa y trabajar de manera mas organizada, y el que mas me convencio es el Zend Framework.
    De todas formas, no se que me conviene… está bueno el NetBeans?
    Instalando solo el Zend Server ya puedo armar proyectos php con el framework de Zend? Sabés de alguna guía clara que explique como configurar todo el Zend Server desde 0 hasta el punto en que quede listo para hacer un proyecto?

    Muchas gracias!

  7. @ariel Creo que has hecho una buena elección con Zend Framework. Yo llevo unos cuantos meses, y de momento no me arrepiento. Puede que la curva de aprendizaje sea elevada al principio, pero merece la pena.

    Antes utilizaba Eclipse, pero viendo los avances en Netbeans con PHP, preferí cambiar. No he hecho ninguna prueba con Zend Studio o Zend Server, así que no te puedo ni ayudar ni guiar, lo siento ;)

  8. Gracias por la velocidad de la respuesta! Mira, la verdad no es que yo QUIERO usar el zend studio, realmente estoy abierto a otras opciones, en el caso de que usara el Netbeans, puedo instalar el zend framework siguiendo esta guía y luego construir proyectos con el Netbeans?
    Tendré algun problema si trabajo sobre windos seven??

  9. @ariel Si, siguiendo los tutoriales que tengo en el blog, puedes configurar desde zero el XAMPP, Zend Framework y Netbeans, a parte de más cosas:

    Desconozco si habría algún problema con Windows Seven, trabajo con XP. Lo que puede cambiar son las rutas de directorios, ya que a partir de Windows Vista se organizo de manera diferente. Suerte!

  10. Bueno, muchisimas gracias!!! En estos días voy a probar entonces, te agradezco por tus guías, por tu dispocision y por la velocidad y eficiencia de tus respuestas.

    Cualquier cosita vuelvo para preguntar.

  11. Hola amigo.. cómo se configura Zend Studio para utilizarlo con Zend Server CE? Estoy tratando de ver código PHP pero no funciona, le doy en correr como web page pero en el navegador me sale el mensaje “404 – NOT FOUND”. El proyecto se encuentra en la carpeta “htdocs” en el servidor. Y el servidor lo agrega Zend Studio automáticamente. Gracias!

    ¿Sabes qué es lo que podría estar mal en la configuración?

  12. Hola a todos, he seguido paso a paso lo explicado en el tuto pero cuando cargo la pagina no me muestra nada……me pierdo un poco a la hora de copiar los zf.bat y php pq el xampp q estoy usando no tiene las carpetas mencionadas, porfa ayudenme lo necesito con urgencia, de antemano gracias….

  13. que buen tuto… pero tengo una pregunta : siempre que quiera hacer un nuevo proyecto tengo que realizar estos pasos de vuelta??

    he estado leyendo sobro netbeans pero no me sale muy bien la configuracion del servidor tiene algun tutorial que este bueno

    gracias

  14. He buceado por muchas paginas y ninguna tan clara como esta, para instalar XAMPP y Zend.

    Muchas gracias!!!

  15. Genial !!!! super útil la guía, es lo que andaba buscando.

    ¿tienes a futuro planificado, hacer una referente al Zend Server CE para que trabaje en Windows de la misma forma que con XAMPP?

    Muchas gracias !!!!!

  16. Excelente me va ser de gran utilidad, estoy en la escuela asi que directo a Springpad =) gracias

  17. Gracias por el tutorial!

    es de gran ayuda para empezar con buen pie y sobre seguro.

    Pondre una referencia en mi web.

    Un saludo y gracias !

  18. hola tengo un problema cuando cargo el path como dice me funciona el comando para ver la version de php pero cuando pongo el comando zf show version no lo reconoce y lo hice hasta ahi tal como lo has escrito q es lo q puede estar fallando? gracias

  19. Tienes un pequeño fallo aquí: C:\xampp\htdocs\testzf\library> zf show version

    La ruta correcta, al menos en la versión actual, es C:\xampp\htdocs\bin

  20. Buenas tardes, entendido a la perfección! pero tengo una duda al respecto. En caso de tener varios proyectos en al carpeta htdocs, como se configura para que salga directo la pagina principal sin la necesidad de colocar “http://localhost/MiProyectoZend/public/”, quiero colocar solo “http://localhost/MiProyectoZend” y que me muestre mi pagina principal.

  21. Hola, tengo un problemilla creamos un proyecto en windows, lo terminamos y funciona muy bien, pero despues la empresa pidio pasarlo a linux y no nos da, ya intente con ubuntu y centos y no da, hay alguna cosa a tener en cuenta al pasarlo a linux. Gracias

  22. Muchas gracias excelente aportación , gracias por ayudar a los novatos en zend :) así deverían de ser los post de todos

  23. muy mal donde se encuentra el comando para crear proyectos es en la carpeta bin no en library

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>