September 12th, 2011 Category: Curso php5 Programacion Zend Framework
27 Comments »

Llego la hora de hacer algo util, hoy vamos a ver como configurar nuestra aplicacion para trabajar con una base de datos mysql, para eso vamos a usar Zend_Form para crear formularios y vamos a crear modelos para poder traer datos de nuestras tablas y poder escribir en ellas.

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

Capitulos Anteriores
Capitulo 1 < Configuracion y creacion del proyecto
Capitulo 2 < Estructura de directorios, MVC y layouts
Capitulo 3 < Objeto view, y contenido estatico

Proximo capitulo > Edicion, y Paginado.

Gracias Maestrosdelweb por darme un espacio en su cuenta de youtube


Invitame una Cerverza


Comentar


27 Responses

industrial_paradise 2011-09-12 08:49:05
La espera ha valido la pena.
Hace poco que he empezado con ZF y la verdad es que el uso de modelos soluciona muy bien la connexión con la base de datos; pudiendo prescindir así en el controlador de marras de cosas del tipo:

$bootstrap = $this->getInvokeArg('bootstrap');
$options = $bootstrap->getOptions();
$DbConfig = $options['resources']['db']['params'];
...


En fin, que felicidades por la iniciativa.
Recibe un cordial saludo,

joel 2011-09-14 22:04:50
genial genial el video aprendi harto amigo espero nuevos videos

LCervantes 2011-09-17 11:09:59
Son geniales los tutoriales que publicas.
REspecto a los formularios, la solución de formularios que trae implicita, es buena y rapida, pero a nivel de diseño se complica mucho si tienes muchos campos.
El decorator no los acabo de enterder, y la implantación de un buen diseño has de tocar mucho codigo.
¿Existe la posiblilidad de hacer una plantilla (podría ser una tabla HTML) e ir dibujando dentro de sus celdas los elementos del forms que tienes definidos en el form de zend y que se comporten igual que cuando muestras el formulario.? Es decir que se validen, muestren los errores, etc.

Muchas gracias.
Adelante con los tutoriales son buenisimos.

Pablo Morales 2011-09-17 11:21:42
@LCervantes.

Si se puede!! :D


Tenes que asignarle un view Scripts al form, cuando ese form va a dibujarse llama a ese view scripts y podes dibuajarlo como te guste. Yo no uso decorators, son demasiado complicados, ademas se le hace dificil editarlo a los disenadores.

andres 2011-11-10 23:27:30
Hola Tengo un problema a la hora crear la BD me aparece este error
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Pablo Morales 2011-11-10 23:40:37
No tenes instalado mysql o no esta corriendo el deamon.

apierosf@uniminuto.edu.co 2011-11-11 00:34:41
me aparecen los siguientes cual debo instalar para poder continuar con tus tutoriales

* mysql-server-core-5.1
* mysql-cluster-server-5.1
* mysql-server-core-5.0

Pablo Morales 2011-11-11 00:42:15
apt-get install mysql-server mysql-client

cmdt.cobra@hotmail.com 2011-11-22 14:03:46
Hola, me aparece un error, he seguido paso a paso todo lo del video, y no se que pueda ser :(, espero me puedas ayudar... el error es el siguiente:

Fatal error: Class 'Application_Model_Posts' not found in /var/www/framework/zf_test/application/controllers/PostsController.php on line 6

y el codigo de PostsConroller.php

view->posts = $model->getAll();
}

public function agregarAction()
{

}
}

y el codigo de posts.php:

fetchAll();
}

}

cmdt.cobra@hotmail.com 2011-11-22 14:07:39
:( no aparece todo el codigo de los archivos, pero los tengo iguales a los del video

Pablo Morales 2011-11-22 18:46:05
controla con los archivos que estan en github

https://github.com/pablofmorales/news123

Sergio 2011-11-23 16:41:50
Gracias por los videos de ZF.

Están muy bien y eres un figura ^^.

Un saludo desde Madrid

jhonny 2011-11-24 16:24:24
muy buen video.
Pablo.
Felicitaciones
estoy aprendiendo me puedes algunos link buenos.
gracias.

Jeremias Nuñez 2011-12-31 14:45:16
buenas! estuve usando doctrine como orm porque el modelo de dominio y las relaciones que tenia eran bastante complejas como para manejarlas "a mano", les dejo aca el problema que tuve por si a alguien le pasa.

http://stackoverflow.com/questions/8683579/doctrine-zend-class-mapping-metadata-not-updating-solved

y aprovecho para dejarte unas felicitaciones porque despues de ver estos videos me enganche del todo con php y zend.

saludos!

Nalleli 2012-01-09 16:31:43
Como puedo obtener el nombre y ID del usuario una vez que ya esté logueado ??

Jesus 2012-01-09 16:53:58
Buenas Pablo felicidades por el trabajo, muy claro e instructivo.

Comentar que tengo un problema y no se a qué se puede deber. Resulta que al crear el formulario los addEelement el servidor me responde con:
Fatal error: Function name must be a string in /.../Zend/Form/Decorator/HtmlTag.php on line 90.

gracias por la atención

Pablo Morales 2012-01-09 16:55:12
cuando haces addElement, fijate que el segundo parametro tiene que ser un string, y el 3ero un array.

Saludos.

jesus 2012-01-10 08:37:04
Gracias por el soporte, creo que si que está puesto como cadena
/*codigo*/

class Application_Form_Post extends Zend_Form {

function init() {
$this->addElement(
'text', 'title', array()
);
}

}
/*codigo end*/
de todas forma he copiado formulario que hay en git y sigue dando el mismo error. Alguna idea? porcierto con el elemento tipo submit no da error

jchm1990@gmail.com 2012-01-12 17:24:15
Pablo, al final era problema de la librería, eliminé la librería que tenía y he puesto una recién descargada, no se qué habrá pasado, porque nunca la había modificado. Muchas gracias por tu ayuda

Edgar Alfonso 2012-01-16 16:03:55
Los tutoriales estas excelentes muchas gracias.

Amigo una pregunta - ¿Que tipo de letra utiliza tu netbeans?

Es decir ->tools->options->Font&Colors->Syntax->Font

me gustaría saber, gracias.

carlos coeto 2012-01-18 20:07:08
Hola buen dia, ante todo gracias por los tutoriales.
me puedes ayudar explicandome, como realizar una consuta a varias tablas con zend frame work

Mauricio 2012-01-22 14:30:00
Hola Pablo, gracias por estos tutos muy bien explicados!
Te hago dos consultas:
1- Porque no usas la herramienta de Zend para crear la estructura del proyecto, los controladores, action, etc.. ? seria mas rápido, se que de la forma que lo haces ayuda tal vez a entender mas y a ejercitar la mente... solo te consulto por curiosidad y por si de este modo es mejor...

2- Cree un modulo llamado Admin donde pienso crear todo la administración de un sitio, dentro cree el modelo, cuando instanciaba un objeto de este no daba ningún error y el instelisense de netbeans me lo mostraba.. pero cuando iba al browser a ver los resultados me daba error diciendo que no encontraba el modelo, lo resolví poniendo el modelo (y cambiando el nombre de la clase) bajo la carpeta models de application, tenes idea que pudo estar mal? seguramente alguna referencia, pero no lo se :D

Muchas gracias

Pablo Morales 2012-01-22 16:14:31
@Edgar Alfonso no recuerdo el nombre, ya cambien varias veces :D

@Carlos Coeto, en el ultimo video te muestro como.

@Mauricio.

1- La verdad es que no me resulta mas rapido, prefiero crearlos a mano. Tambien es un tema de costumbre

2- Si seguis la referencia standard, y los nombres no deberias tener problemas, por ahi estabas poniendo algun nombre de clase mal.

Chequealo.

gustavo 2012-02-09 01:53:02
Saludos Pablo:
Una consulta,podrias explicarnos un poco de los subform, he intentado hacerlo pero no me sale,estoy haciendo una paguina donde quiero q tengo un form login y mas abajo un form de registro. y cuando le doy click al botton cual controlador me leera primero y que hago para que el controlador del formulario q no es utilizado no entre a ejecutar instrucciones
gracias

Pablo Morales 2012-02-10 09:36:56
Para tu caso no tenes que usar subform, sino dos forms separados.

Saludos.

jose 2012-02-15 13:10:43
Epa Pablo, este tutorial sin desperidicio felicitaciones, voy step-by-step.

Tengo una duda, estoy creando un formulario donde hay subdivisiones: datos personales,datos familiares, datos laborales, datos generales, si deseo colocar estas subdivisiones en columnas ósea serian 2 filas con 2 columnas, cual es la forma correcta para hacerlo???

MIl gracias

Apolo 2012-02-16 18:56:10
Saludos Pablo,

Felicitaciones por tus grandiosos aportes. Quisiera saber como mostrar la letra "ñ", por ejemplo en contraseña, ya que siguiendo tus explicaciones usando Zend obtengo: Contraseña.

Ya he intentado con: y aun sigo con ese problema.

Gracias de antemano!!!