Zend Framework 2: Crear un proyecto usando Netbeans
Este artículo es la segunda parte de mi tutorial de Zend Framework 1: IntroducciónBreve explicación de qué hace Zend Framework
ZF es , como ya dije, un conjunto de librerías que nos permiten crear sistemas con PHP usando la metodología MVC (Modelo, Vista, Controlador). Pero para que ZF funcione, nuestro sistema web debe estar organizado en una forma especial,. Se deben crear carpetas con nombres específicos, y debemos guardar los archivos PHP que forman la Vista del sistema en cierta carpeta, y los archivos que forman el Modelo en otra carpeta, etc. Además se debe crear un archivo llamado .zfproject.xml en donde se indica un detalle de las clases PHP usadas, qué rol juegan y dónde se ubican.
Menudo lío, ¿verdad? Pero no te desesperes, ya que ZF viene con un intérprete de línea de comandos que hace todo esto por nosotros: zf.bat (ó zf.sh para Linux). Usando este comando podemos crear projectos de ZF que nos crearán toda la estructura de carpetas y el archivo .zfproject.xml con los detalles del proyecto. También lo usaremos para crear el esqueleto de las clases que implementan el modelo MVC, como veremos más adelante.
Instalando nuestro ambiente de Trabajo
Antres de empezar a codificar, lo mejor sería hacernos con un buen IDE para trabajar en PHP. Puedes usar el que más te guste, yo usaré NetBeans 6.9.1 (la version 7.x tambien trae soporte, desde luego). Originalmente este fue pensado como un IDE para trabajar en java, pero tiene extensiones para trabajar en PHP, C/C++ y otros lenguajes. Además, podemos configurarlo para que podamos ejecutar el comando zf.bat directamente desde el IDE (opcional). Netbeans es gratuito, fácil de usar y multilenguaje. Puedes bajarlo desde acá. Si solo lo vas a usar para codificar en PHP, puedes bajarte la versión para PHP, que es más liviana que la que trae soporte para todos los lenguajes.
ZF es , como ya dije, un conjunto de librerías que nos permiten crear sistemas con PHP usando la metodología MVC (Modelo, Vista, Controlador). Pero para que ZF funcione, nuestro sistema web debe estar organizado en una forma especial,. Se deben crear carpetas con nombres específicos, y debemos guardar los archivos PHP que forman la Vista del sistema en cierta carpeta, y los archivos que forman el Modelo en otra carpeta, etc. Además se debe crear un archivo llamado .zfproject.xml en donde se indica un detalle de las clases PHP usadas, qué rol juegan y dónde se ubican.
Menudo lío, ¿verdad? Pero no te desesperes, ya que ZF viene con un intérprete de línea de comandos que hace todo esto por nosotros: zf.bat (ó zf.sh para Linux). Usando este comando podemos crear projectos de ZF que nos crearán toda la estructura de carpetas y el archivo .zfproject.xml con los detalles del proyecto. También lo usaremos para crear el esqueleto de las clases que implementan el modelo MVC, como veremos más adelante.
Instalando nuestro ambiente de Trabajo
Antres de empezar a codificar, lo mejor sería hacernos con un buen IDE para trabajar en PHP. Puedes usar el que más te guste, yo usaré NetBeans 6.9.1 (la version 7.x tambien trae soporte, desde luego). Originalmente este fue pensado como un IDE para trabajar en java, pero tiene extensiones para trabajar en PHP, C/C++ y otros lenguajes. Además, podemos configurarlo para que podamos ejecutar el comando zf.bat directamente desde el IDE (opcional). Netbeans es gratuito, fácil de usar y multilenguaje. Puedes bajarlo desde acá. Si solo lo vas a usar para codificar en PHP, puedes bajarte la versión para PHP, que es más liviana que la que trae soporte para todos los lenguajes.
Instalar Netbeans es fácil. Solo sigue los pasos y listo.
Una vez instalado el IDE, ábrelo y ve a crear un nuevo proyecto (Archivo / Nuevo proyecto)
Selecciona en Categorías PHP y en Proyectos : aplicación PHP y presiona siguiente
Guardaremos nuestro proyecto en la carpeta
C:\xampp\htdocs\miproyecto
presiona Siguiente
aquí veras la url desde la que ejecutaras tu proyecto (podrás cambiarla después, si lo deseas):
http://localhost/miproyecto/
presiona Siguiente
En esta ventana debes indicar si quieres desarrollar este sistema usando algún framework de PHP. Nosotros marcaremos Zend Framework ( ya lo habías imaginado, ¿verdad, aprendiz perspicaz?)
Pero antes de apretar Siguiente, haremos clic en Opciones, ese link azul al lado derecho en la ventana, pues aún no hemos configurado por primera vez nuestro ambiente de desarrollo en PHP
Configurando al ambiente PHP
Esto sólo se hace una vez, así que no te preocupes si te parece algo aburrido. Se trata simplemente de decirle a Netbeans dónde está nuestro zf.bat para que netbeans pueda usarlo para crear los proyectos con ZF, las clases en PHP, etc.
Configurando al ambiente PHP
Esto sólo se hace una vez, así que no te preocupes si te parece algo aburrido. Se trata simplemente de decirle a Netbeans dónde está nuestro zf.bat para que netbeans pueda usarlo para crear los proyectos con ZF, las clases en PHP, etc.
en la ventana que nos aparece ahora, en la pestaña Zend debemos decirle a netbeans en dónde está nuestro archivo zf.bat. Si lo agregamos al PATH de Windows (o de linux) como explicamos más arriba, Netbeans lo encontrará solo. Si no, deberemos indicárselo nosotros mismos.
Ahora, para poder usar zf.bat desde Netbeans, debemos registrar un proveedor de ZF. Para eso, hacemos clic en el botón Register Provider.
Nos mostrará en la ventana principal del IDE un aviso diciendonos que el provider ha sido registrado con éxito.
Nota: si nos sale un aviso que nos dice que no se encuentra archivo de configuración de usuario o algo por el estilo, es que nos olvidamos de ejecutar
zf --setup config-file
desde una consola. Me llevó SEIS dias descubrir eso...
Actualización: si actualizamos Netbeans 6.9 o si tenemos una versión superior, si no hemos ejecutado zf --setup config-file, el ide lo hará por nosotros. Genial, ¿no?
Ahora volvemos a nuestra ventana
y presionamos "siguiente".
Internamente, Netbeans llama al comando
Internamente, Netbeans llama al comando
zf create project miproyecto
y con eso se crea toda la estructura de carpetas y archivos que ya habíamos mencionado.
y con eso se crea toda la estructura de carpetas y archivos que ya habíamos mencionado.
Suscribirse a:
Enviar comentarios
(
Atom
)
23 comentarios :
Excelente amigo sigue asi
Hola amigo, yo tengo netbeans 6.8, como podría hacer? para crear un proyecto con zend framework.
O tengo que descargar la version 6.9?
saludos.
Hasta adonde sé, netbeans trae soporte para Zend sólo en la versión 6.9, así que tendrías que descargártela. O bien podrías usar algún otro ide, pero eso ya es decisión tuya.
Saludos :)
Gracias.
Una pregunta mas, en caso de que desinstale la 6.8 y descargue la 6.9 que pasa con los proyectos que tengo guardados en Netbeans.
O se puede actualizar la 6.8 sin desinstalar?
Disculpa tanta pregunta pero hace poco que trabajo con Netbeans y esto de crear automaticamente un proyecto de ZF desde el ide suena interesante.
Saludos desde Montevideo.
Puedes tener instaladas ambas versiones sin problemas.
Ahora, si borras una e instalas la otra (sería bueno hacer eso, pues la version 6.9 es más rápida que la versión 6.8, segun yo) no pasa nada con los proyectos, ahí mismo se quedan.
Es como si desintalaras el Office, los archivos de word no se borran :P
Saludos :)
Si... yo los proyectos los tengo en Wamp y alli se quedarán :), pero en cuanto al reconocimiento que hace netbeans de los mismos, es a lo que me refería, disculpa tanto mensaje, pero tengo algunas dudas, jaja.
No hay problema, los proyectos hechos con netbeans 6.8 los puedes abrir con netbeans 6.9 :)
Incluso puedes abrir proyectos hechos con netbeans 6.0.
Saludos :)
Hola amigo, he creado un proyecto con zend framework hace tiempo y le agregue algunos modulos, controllers y actions, y todo andaba muy bien, ahora unos meses despues lo abro y veo que solo andan los indexAction de cada modulo, no funcionan ni los demas actions ni los demas controllers que no sean los index.
Te pregunto si el archivo zfproject.xml puede tener algo que ver, porque revisando veo que tiene varias configuraciones "false".
El proyecto lo cree con zend tool hace casi un año y la verdad no se que ha pasado, porque no funciona ahora, no recuerdo haber tocado nada.
Por donde debiera buscar la falla?
Te agradezco si me puede ayudar y perdón el post tan largo.
Es posib le que elproblema este en el archivo .zfproject.xml, pues es el lugar donde zend hace referencia a las acciones y sus controllers.
Los 'false' estan bien, es la configuracion por defecto. Podrias revisar la seccion controladores/acciones de el .xml
Por ejemplo, en
Dice que tengo un controlados Index (IndexController.php) y que tiene las acciones index (o sea, una funcion indexAction() debe existir en IndexController.php ), logout (logoutAction() ), etc
Podrias revisar si estan bien.
En verdad nunca he tenido un error así. espero esto te sirva :)
Saludos
Estimado, primero quiero felicitarlo por esta serie de posts acerca de zend framework, la verdad que muy claros.
Te pediría si me puedes explicar donde ejecuto:
zf --setup config-file
en inicio->ejecutar me dice que no encuentra el archivo zf.
Demas esta decir que no he podido crear el proyecto desde Netbeans.
Cordiales saludos.
Gracias por tu ayuda, tenia varios dias sin poder configurar el netbeans con Zend :(
varios dias? afortunado... yo tuve varias.. semanas XD
Capitulo 2 leido. Buen aporte y todo funciona ok hasta ahora. Sin embargo como siempre tengo una duda xD. Netbeans solo crea la estructura de ZF cuando es no modular?...que sucede si es modular, lo tendria que hacer manualmente? Por ejm Modulo usuario, modulo default, modulo admin u otros modulos que se quiera colocar. Graciasssss, sigo con el sgte capitulo ;)
Mmm... modular..? sí, es decir, ZF admite modulos. Puedes separar los controladores en módulos (que no son nada mas que carpetas en el fondo...), pero eso lo haces depués.
Lo primero es crear la estructura general del proyecto ZF, es decir, el archivo .xml y las carpetas para cada cosa.
:)
Ok gracias Angel ya me salio ahora otra consulta ya le di como dice register provider en netbeans y me salio este mensaje
Provider registered, review output windows for posible errors
y luego le di aceptar
Me gustaria saber si se registro correctamente para seguir adelante con el sgte capitulo
Saludos.
Queda aclarado este tema
Cuando ejecuto el comando
C:\>zf --setup config-file
Warning: file_put_contents(\/.zf.ini): failed to open stream: Invalid argument i
n C:\xampp\php\zf.php on line 514
Config file written to \/.zf.ini
me da el error de arriba y nunca me deja crear el archivo zf.ini.Estoy trabajando en windows xp y he seguido los pasos al pie de la letra.tengo las ultimas actuales de xamp,zend y netbeans.
Muchas gracias
Sobre mi post de antes el error que da cuando ejecuto el comando
C:\>zf --setup config-file.
La solucion es la siguiente para que te funcione bien el netbeans.
Tienes que crearte estas variables
en el entorno del sistema.Arriba en el manual muestra como crear variables del sistema.Las variables con :
ZF_HOME =C:\Users\(nombre de usuario)
ZF_STORAGE_DIR=C:\Users\(nombre de usuario)\.zf
Una vez creadas reinicias la computadora.
y luego ejecutas el comando
C:\>zf --setup config-file
te creara el fichero.
Y luego ejecutas
C:\>zf --setup config-adsasddsa
y te mostrará algo como esto,en donde ves que tienes las variable bien definidas
ZF Command Line Tool - Setup
----------------------------
Current Paths (Existing or not):
Home Directory: C:\Users\(nombre de usuario)
Storage Directory: C:\Users\(nombre de usuario)\.zf
Config File: C:\Users\(nombre de usurio)/.zf.ini
En mi caso, no fue nececesario crear ninguna de esas variables, ni en Win xp, OpenSuse ni Ubuntu
Hola Angel, mi gozo en un pozo.
Por temas de trabajo tengo que usar Eclipse, y no sé si será posible integrarlo con Zend sin tener que usar la versión esa de pago de Zend Studio... :-?
estoy googleando desde hace una hora, de momento sin resultado... :-(
Gracias
Hola, Hanna (Montana?)
Tal vez esto te sirva http://stackoverflow.com/questions/3085030/zend-framework-plugin-for-eclipse-pdt
Pero por lo que veo, no hay un plugin "oficila" para Zend. en todo caso, la unica utilidad del plugin de NB es que te permite ejecutar dese el ide los comandos de zf. Ah, y navegar con facilidad entre actions y views.
Saludos :)
me costó 20 minutos este capitulo, mas la descarga del netbeans.
Gracias por el tuto, esta buenisimo!!!
me baje el zend 2.1.4 el nuevo y o hay zf.bat por ningun lado para agregarlo a las variables de entorno jaja
Publicar un comentario