Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Littl3 en 16 Septiembre 2011, 13:07 pm



Título: MVC - Diseño de modelos ¿Como se plantea?
Publicado por: Littl3 en 16 Septiembre 2011, 13:07 pm
Buenos días,

Tengo una duda sobre los modelos en MVC, cuando me pongo a codear un modelo me vienen 2 formas de diseñarlo y no se cual es la correcta.

  • 1- Pensar en que el modelo se refiere a una de las tablas de la base de datos, por lo tanto tiene que contener todas las acciones que voy a realizar con esa tabla.. alta, edit, delete, update, counts.. etc..
  • 2- Pensar que estoy diseñando un modelo X para un controlador X, por lo que el modelo puede que tenga acceso a varias tablas y su labor es servir al controlador X que voy a desarrollar mas tarde.

¿Cual seria la mejor forma de plantearlo?

Gracias, un saludo.


Título: Re: MVC - Diseño de modelos ¿Como se plantea?
Publicado por: madpitbull_99 en 16 Septiembre 2011, 16:52 pm
En los Modelos intenta englobar todas las operaciones que trabajan y manejan datos, como su nombre bien lo indica, en los Controladores,
encargate solamente de direccionar/controlar.

Así tendrás un código "más limpio". En Wikipedia hay un buen ejemplo de como debería seguirse el patrón MVC (_http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller).



Título: Re: MVC - Diseño de modelos ¿Como se plantea?
Publicado por: Littl3 en 16 Septiembre 2011, 18:07 pm
Ese tema esta claro, los modelos son para los accesos a los datos, ahora, imaginemos estas tablas:

Users
      Name
      id_type


Type_users
      id
      name
      mail_group



Si necesito saber que mail_group tiene el usuario "Fulanito" ¿sería correcto definir un método en el modelo users para obtenerlo? "get_mail_group" que accederá a la tabla type_user aun perteneciendo al modelo users y siendo hermana de "add_user" , "delete_user", "update_user" etc...



Título: Re: MVC - Diseño de modelos ¿Como se plantea?
Publicado por: madpitbull_99 en 16 Septiembre 2011, 18:16 pm
Exacto, por ejemplo, todos los métodos que manejen los usuarios los puedes definir en el modelo users_model.php.

Citar
Ese tema esta claro, los modelos son para los accesos a los datos, ahora, imaginemos estas tablas:

Muy claro no está, sino, no estarías preguntando esto.