Foros del Web » Programando para Internet » PHP » Zend »

Zend Framework y Uml

Estas en el tema de Zend Framework y Uml en el foro de Zend en Foros del Web. Hola amigos, quisiera pedirles si me pueden ayudar a resolver esta duda que tengo. He hecho un diagrama de clases para un registro de usuarios ...
  #1 (permalink)  
Antiguo 06/10/2010, 15:48
 
Fecha de Ingreso: diciembre-2007
Mensajes: 178
Antigüedad: 16 años, 3 meses
Puntos: 1
Zend Framework y Uml

Hola amigos, quisiera pedirles si me pueden ayudar a resolver esta duda que tengo.
He hecho un diagrama de clases para un registro de usuarios sencillo (solo se pide usuario, clave y email)

Las clases:
Código PHP:
Ver original
  1. USUARIO
  2. private $usuario;
  3. private $password;
  4. private $email;
  5.  
  6. //metodos:getters y setters correspondientes
  7.  
  8.  
  9. REGISTRO
  10. public verificarusuario();
  11. public insertarusuario();
  12. public rechazarusuario();
  13. public enviarmail();
  14. public validarcuenta();

Aqui viene mi duda, al momento de verificar el usaurio en el controller que llegan los datos $_POST, muchas veces he visto que no se hace con una clase Usuario, sino que se llama directamente al modelo para verificar los datos en la base de datos (en algunos manuales incluso he visto esto).

Pregunto, cual es la tendencia en estos casos (o lo que se debería hacer), trabajar con una clase Usuario y una Registro y llamar al modelo dentro de estas clases (en este caso seria en la clase Registro), o llevar los datos directamente al modelo para verificar.

Espero que se entienda la idea, si alguien me puede dar una opinión se lo agradezco.

Última edición por grey; 06/10/2010 a las 16:48
  #2 (permalink)  
Antiguo 07/10/2010, 07:01
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Zend Framework y Uml

Hola grey, supongo que en un caso tan simple como este podrías validar contra el modelo directamente.
Si fuera una aplicación más compleja te puede interesar un paso previo para operar con los datos.
Espero que te sirva, salu2
  #3 (permalink)  
Antiguo 07/10/2010, 08:01
 
Fecha de Ingreso: diciembre-2007
Mensajes: 178
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Zend Framework y Uml

Hola, justamente esa es mi duda, porque el registro puede ser algo simple pero quizas el resto del sitio no, o esta la posibiliadad de que en un futuro el sitio crezca, y alli entra el dilema, si respetar "siempre" los diagramas de clase que nos arroja un diseño UML.

Pongo dos ejemplos para que se vea la diferencia, supongamos que queremos ver una lista con todos los usuarios:
Código PHP:
Ver original
  1. //ejemplo 1
  2. public function usuarioAction()
  3.     {
  4.         $todoslosautos=new Moduno_Model_Usuarios();
  5.         $this->view->todos=$todoslosusuarios->vertodos();
  6.     }
Código PHP:
Ver original
  1. //ejemplo 2
  2. public function usuarioAction()
  3.     {
  4.         include_once 'Usuarios';
  5.  
  6.         $verusuarios = New Usuarios();
  7.         $todos = $verusuarios->listacompleta();
  8.         $this->view->todos = $todos;
  9.     }
En el segundo caso se estaria respetando el diagrama de clases, donde una clase "Usuarios" tiene un metodo "listacompleta" y es alli donde se llama al modelo para que posteriormente se retorne el resultado.
En el primer caso se hace directo, sin intervencion de ninguna clase, o sea dejando de lado el diagrama UML.
Funciona de las dos formas, pero cual seria la "correcta".
  #4 (permalink)  
Antiguo 07/10/2010, 08:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Zend Framework y Uml

Lo que pasa es que los diagramas como tal de UML es una guia de como se comportan los objetos de tu sistema.

Recuerda que la idea del modelo es que sea toda la capa del negocio donde se procese todo, el modelo engloba tus objetos uml, y la capa de persistencia en esa misma, por lo que dentro del modelo tienes tu objeto Usuario, y luego tienes un UsuarioMapper, que hace uso de un UsuarioDB para persistir los datos, pero todo esto tiene que "flotar" entre las capas y tiene que ser tan transparente que tu usando un Usuarios::getTodos() tengas una lista de Usuarios, y sea transparente de donde vinieron esos Usuarios, tu solo sabes que son pertenecientes a tu clase Usuario y tienen sus getters/setters y sus métodos.

Saludos.
  #5 (permalink)  
Antiguo 07/10/2010, 09:17
 
Fecha de Ingreso: diciembre-2007
Mensajes: 178
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Zend Framework y Uml

Gracias GatorV... pero la lógica de negocio no iría en el controlador?
el controlador no es para eso?
Si me puedes despejar esta duda te agradezco.
  #6 (permalink)  
Antiguo 07/10/2010, 09:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Zend Framework y Uml

No, la logica del negocio va en el Modelo, el controlador simplemente es una capa de transmisión de datos entre el modelo y la vista, hasta ahí, las tareas de decisiones y procesos del negocio, van en el modelo.

Supongamos que parte de tu modelo es que al insertar un usuario, tienes que crear una cuenta, agregar datos, insertar otros datos en otra tabla, notificar un mail, etc.

Todas esas tareas deben de ir dentro del modelo, y desde tu controlador solo haces el paso de datos llamando a agregarUsuario() y listo.

Saludos.
  #7 (permalink)  
Antiguo 07/10/2010, 15:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 178
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Zend Framework y Uml

Nuevamente gracias GatorV, volviendo a lo primero, al trabajar con ZF siempre sería mejor respetar las clases y metodos que nos arroja un diagrama UML ? o se pueden obviar ciertas clases o metodos.
  #8 (permalink)  
Antiguo 07/10/2010, 15:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Zend Framework y Uml

Como te comento, un diagrama UML te ayuda a planear como se van a comportar tus procesos, como se comunican tus objetos, y lo puedes integrar tal cual en ZF sin ningún, problema.
  #9 (permalink)  
Antiguo 08/10/2010, 08:17
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 1 mes
Puntos: 9
Respuesta: Zend Framework y Uml

Yo cuando trabajo con Zend Framework trato de trabajar a la forma numero 2 que describes (creando las clases que nos devuelve Uml), creo que respetando el diagrama siempre vamos a tener un orden que mas adelante no nos va a complicar la vida.

Etiquetas: framework, php, uml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:35.