July 27th, 2011 Category: Curso php5 Programacion Zend Zend Framework
28 Comments »

Ya esta el capitulo dos del video tutorial de Zend Framework, en esta edicion vamos a dar un repaso sobre la estructura de direcotrios de Zend Framework, editar los controllers, las vistas, y el layout de nuestra aplicacion.

Tambien vamos a empezar a darle forma a nuestro proyecto. Y entender la diferencia entre el contenido estatico y el contenido generado por nuestro MVC.

Espero que lo disfruten, pueden usar los comments de este blog para plantear dudas, pedir que se refuerce algun tema, o pedir temas a tocar en el futuro.

Si te perdiste el video anterior podes verlo aca

Es recomendable ver el video en 720p de resolucion y en pantalla completa.


Los que quieran descargarse el codigo fuente pueden hacerlo desde github en http://github.com/pablofmorales/News123

Capitulo Anterior < Configuracion y creacion del proyecto

Proximo capitulo > Enviar parametros a las vistas y agregar archivos js y css a nuestro proyecto.


Invitame una Cerverza


Comentar


28 Responses

Pablo Morales 2011-07-27 16:09:16
Activen la opcion HD sino se les va a ver borroso

emilio 2011-07-27 17:07:52
buen video pablo! felicitaciones.

gustavo 2011-07-28 21:45:14
hola pablo, te felicito,no encontre mucha info en internet en español,y lo tuyo es bueno sigue asi pablo

Carlos 2011-07-30 01:04:14
Hola, Pablo.
Realmente están buenos tus videos. Tienes una gran habilidad para explicar, claro y conciso.
Por lo visto Zend framework es igualito a CakePHP, pero mi duda es por qué, digamos, los más PRO usan Zend? Es moda? Realmente es muy superior a Cake o a Symfony?
Por cierto, te falta un botón para "invitarte una cerveza", te la invitaría en persona pero sí me queda lejos la Argentina.
Saludos

Pablo Morales 2011-08-01 15:34:30
Gracias gente. Voy a demorar esta semana en subir el proximo video, justo viaje y tengo problemas de conectividad.


@Carlos, me vinieron unas ganas increibles de tomar una Cerverza, hoy estoy en Uruguay asi que me voy a tomar una zilerthal en honor a tu comment.

Con respecto a cake, vs Zf, la verdad que es un tema de nunca acabar, no es cosa de Pro contra Noobs, ni mucho menos. Escuche gente que usa cake porque le facilita mucho la creacion de proyectos.

Pero cake sigue siendo compatible con PHP4, y esto hace que el framework no aproveche las posibilidades de PHP5 en todo su esplendor, esto como basico.


Los principios de ZF, es crear aplicaciones robustas, escalables, siempre respetando los standards, y siendo lo mas profesional posible, aprovechando no solo lo mejor de php5.x sino aprovechando los paradigmas de programacion aprovechables desde el lado web. La verdad es que ZF hace que tus aplicaciones sean muchos mas profesionales, y prolijas, lo principal es la escalabilidad y el orden que plantea. Con cake trabaje con un proyecto ya creado y puesto en marcha, y la verdad es que no la pase bien editandolo. De codeigniter ya me queje mucho, no voy a volver a repetirlo por aca la verdad es que cada vez que veo en los foros o blogs gente hablando de CI me sube un escalofrio en el cuerpo, pero en algun momento voy a armar algun post sobre la comparativa de frameworks, por ahora te puedo decir que si a vos te gusta crear aplicaciones robustas,, escalables, prolijas, y super profesionales usen ZF. Si queres sacar aplicaciones para salir del paso segui con cake, obviamente, despues para extender o mantener una aplicacion en cake te va a costar 3 veces mas que con ZF. A la larga zf te termina ahorrando tiempo/plata/recursos

@eduvergara 2011-08-07 03:31:20
Viejo eres lo máximo! estaré atento al próximo video, no lo dudes.
Saludos desde un país en represión. Chile.

ZF Clase 3 – Objeto view, y contenido estatico | Pablo Morales's Blog 2011-08-15 20:34:18
[...] Si te perdiste el video anterior podes verlo aca [...]

biko8 2011-09-03 07:05:03
Enhorabuena pablo por los videos!
Llevo vistos los 2 primeros y ya he podido montarme el proyecto y empezar a entender como funciona perfectamente.

Enhorabuena y espero que sigas asi, ya que facilitas mucho el aprendizaje.

Pablo Morales 2011-09-11 13:23:30
Me alegra biko8, la idea es que empiezen bien de abajo, entendiendo lo simple y facil que es Zend Framework.

Un abrazo y suerte

Ignacio Aular 2011-09-15 16:23:32
No puedo ver el video dos y me urge verlo porque estoy aprendiendo....
Por favor diganme como verlo, muchas gracias a quien pueda ayudarme.

Pablo Morales 2011-09-15 22:16:54
Hola Ignacio es raro, pero por las dudas te paso el link directo para que lo veas desde vimeo.

http://www.vimeo.com/26958080

un abrazo

ZF Clase 5 – Editar, Borrar y Paginar nuestros datos. | Pablo Morales's Blog 2011-09-17 11:08:40
[...] Anteriores Capitulo 1 < Configuracion y creacion del proyecto Capitulo 2 < Estructura de directorios, MVC y layouts Capitulo 3 < Objeto view, y contenido estatico Capitulo 4 < Modelos y Formularios Comments [...]

Rodrigo Moya 2011-10-02 20:41:51
Hola Pablo :

Primero que todo, gracias por compartir tus conocimientos de Zend. Yo llevo casi 10 años programando en PHP y admito que he sido un negado con el aprendizaje de los Frameworks, pero después de meterme a Wordpress y Joomla le he empezado a entender la gran ventaja que tienen.

Respecto a el tutorial, algo raro me ocurre. Con el video 1 y la mitad de este iba súper bien, pero creé las vistas y al momento de probar el código aparece "Application error" y nada.

Por cierto, no he podido hacerlo correr con ruta local como lo haces tú, pues este host lo uso para varios proyectos y al parecer apache no permite configurar la redireccion bajo carpetas. La forma de correrlo es : http://localhost/zend/public/ .

La versión de ZF que estoy usando es la 1.11. He estado intentando googlear este problema, pero nada. ¿Que puede ser?

Gracias y saludos desde Chile. Y si vienes me avisas, y yo si te invitaré una cerveza (o un vinito, jeje).

Pablo Morales 2011-10-02 20:47:46
Hola @Rodrigo, princpalmente tienes que crear un ambiente de desarrollo local.

Para eso cada vez que creas un proyecto nuevo tenes que crear un virtual hosts para apache.

Como muestro en el video la configuracion basica en un linux, nose que SO usas, pero puedes buscar el equivalente a tu SO.

Si te da el error "Application Error", es porque no creaste el vhost, y seteaste que estas en el ambiente de desarrollo (development), esto lo haces configurando en tu vhost

SetEnv APPLICATION_ENV development

Sino podes ir a revisar los logs de apache.

Igual con configurar bien tu apache con los vhost ya resolverias tu problema.


Saludos

Dennis 2011-10-11 14:13:19
Hola Pablo, excelente tutorial aunque yo uso windows pero si aprendí a arreglarmelas antes para poder configurarlo y lo hago directamente usando todo con netbeans que a partir de la versión 6.9 tiene soporte para manejar todo desde netbeans ejecutando los comandos con su propio gestor incluido, bueno mi duda es respecto a la carpeta layout ¿hasta que version esta disponible? o es que cuando ejecute zf create proyect * y me crea la jerarquía de trabajo base, no me creo la carpeta layout estuve imaginando que tal ves para versiones superiores ya no se encuentra la carpeta layout pero me gustaría estar seguro, uso la versión 1.10.5 , gracias por este tuto ahora si me quedo mucho más claro como funcionan los controladores y los actions. sigue asi (Y).

Pablo Morales 2011-10-11 21:10:21
La carpeta layout no viene por defecto deberias crearla a mano acordate que es layout/script/

Saludos

Dennis 2011-10-11 21:59:28
Gracias Pablo, aquí dando mis primeros pasos con este excelente framework.

Pablo Morales 2011-10-11 22:45:52
Bueno Dennis toda la suerte, cualquier cosa no dudes en consultar ;)

sbrocos 2011-12-09 12:33:32
Buenas, primero agradecerte que estes haciendo este tutorial tan extenso sobre ZF, algo de agredecer porque a veces resulta frustante aprender este framework con una curva de aprendizaje como este.
Segundo es trasladarte una duda o cuestión que me tiene algo amargado ya que no encuentro la información precisa de lo que quiero hacer.
Te cuento... tengo dos layouts, uno el por defecto layouts.phtml y el otro adminlayout.phtml, este último queda bastante claro que es para el panel de administración. Por cierto tengo configurado una estructura de carpetas de tipo modular por lo que tengo un module admin y otro default. El caso es que quisiera configurar que por defecto el layout del módulo se admin, fuera adminloyout.phtml, sin tener que declararlo por cada controller que tenga. El caso es que me suena que se pueda hacer, pero no encuentro la manera. Podrías ayudarme?

Gildus 2011-12-10 12:42:15
Hola Pablo, excelente el articulo.

Una consulta, para hacer mi proyecto mas escalable y sobre todo mas personalizado, no crees que deberia tener un boostrap.php para cada modulo?.

Bueno te cuento porque no logro configurarlo para tenerlo con un bootstrap para cada modulo, tienes algun link o info de como podria configurarlo?.

Saludos
Gildus

Pablo 2011-12-20 01:49:23
¡Buenas! He empezado a seguir tus tutoriales, los encontré de casualidad buscando documentación sobre ZF y vienen de maravilla!! Son claros, explicativos, y perfectos para empezar desde cero, así que te felicito por tu trabajo y te animo a seguir, estoy seguro de que cientos de personas te lo agradecemos! (cuando disponga de fondos te invitaré a una cerveza, y yo me beberé a mía desde aquí :P)

Sólo quería aclarar una cosa para los que empiezan, porque me ha surgido el problema y he tenido que buscar la solución...

Por defecto, la carpeta layouts no está creada, así que debemos crear /layouts/scripts/layout.phtml manualmente, y añadir la línea de código PHP necesaria para mostrar la vista que corresponda.

Pero no es suficiente, hay que decirle a ZF que queremos usar los layouts. Si no, aunque tengamos layout.phtml correctamente escrito y ubicado, Zend se lo saltará a la torera!

El comando para esto es "zf enable layout", sin comillas.

Si usáis NetBeans y lo tenéis bien configurado, lo podéis hacer fácilmente con "Botón derecho sobre el proyecto -> Zend -> Run Command"

¡Un saludo desde la ciudad del cierzo!

Pablo Morales 2011-12-20 08:38:16
Gracias Pablo.


La verdad es que no me acuerdo, pero casi seguro que el layout en el video lo levanto haciendo zf enable layout.

Pero gracias por aclarar por si a alguno le paso lo mismo.


Saludos.!! hoy tenemos el hangout en google plus!

jonathan 2012-01-24 16:27:17
seria bueno reforzar los formularios no solo con conexion a bases de datos

sebastian 2012-02-03 16:36:13
hola pablo soy unos de los tantos que te felicita, la mayoria de estos videos ..estan en ingles...la consulta que te hago pablo en este momneto es que no logro hacer andar el codigo bajado en https://github.com/pablofmorales/News123, YO estoy usando ubuntu maverick y la verdad que se me hizo clarisima la instalación de las librerias de zf, al ver el primer video creo que hice todo perfecto ya que da la sensacion que estas usando un S.O. BASTANTE PARECIDO al ubuntu 10.10. en el archivo application.ini hice los cambios pertinentes a mysql y tambien cree la se de dato y las tablas con el archivo news123.sql que se encuentra dentro del directorio bd.
todavia no logro entender por que no me funciona el codigo del github..que me puede faltar pablo?

pablofmorales@gmail.com 2012-02-03 16:37:37
Cual es el error que te da?

Que mensaje te muestra

gustavo 2012-02-04 12:57:10
Saludos pablo:
como puedo hacer para tener varios layouts y utilizar a gusto el que crea conveniente.
donde colocaria,que declararia,haria un plugin, q me recomiendas

gracias por todo,tienes un excelente blog

gildus@gmail.com 2012-02-04 15:25:40
El tema de Layouts merece otro tutorial....xD

gustavo 2012-02-04 19:34:57
Encontre la solucion por si alguien le interesa
1.- en la carpeta layout ->script/ alli escribo otro archivo phtml digamos q es fronted.phtml y backend.phtml

ahora en el controlador coloco lo siguiente:

$options=array('layout'=>'fronted',);//codigo para elegir diferentes layouts
Zend_Layout::startMvc($options);

con ello puedo cargar los layout q uno quisiera y hacert tantos como uno quiera
,si quisieran carga los el layout de backend,cambien la palabra fronted por backed
y listo.

Ami me funciono, me pongo a disposicion de las criticas de los grandes maestros,
estoy enpezando con Zend, puede q tenga q considerarse algo mas. Si es asi estoy presto a escuchar.