Foros del Web » Programando para Internet » PHP »

PHP OO Modularizacion con MVC

Estas en el tema de Modularizacion con MVC en el foro de PHP en Foros del Web. Hola, Estoy intentando aplicar MVC en forma modularizada y quería saber su opinión en si estoy bien encaminado o no. Por ahora no quiero meterme ...
  #1 (permalink)  
Antiguo 26/10/2013, 19:12
 
Fecha de Ingreso: octubre-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Modularizacion con MVC

Hola,

Estoy intentando aplicar MVC en forma modularizada y quería saber su opinión en si estoy bien encaminado o no. Por ahora no quiero meterme con ningún framework.

Vamos a suponer que quiero hacer una pagina que tiene varias funcionalidades como, sistema de noticias, mensajería interna entre usuarios, etc.

Como no todos los usuarios van a tener permisos para todas las funcionalidades voy a hacer algo sencillo que involucres roles y permisos para cada uno.

Con lo anterior, me viene a la mente que voy a tener varias clases: login, role, permisos, usuarios, noticias, entre otras.

La estructura seria como sigue:



Como ven, intente separar las clases en distintos modulos:

En libs voy a tener todas las clases comunes, es decir, que sean usadas por mas de un modulo. Permisos, user y roles las tengo ahí porque cada vez que el usuario quiera ejecutar alguna función de un modulo especifico voy a chequear si el usuario tiene el permiso correspondiente, db_model es para el acceso a la DB.

En las carpetas (modulos) login, message y news voy a tener la vista, el controlador y el modelo. Dentro de la clase model_.... voy a hacer un include de las clases db_model.php, permisos.php, user.php y roles.php para utilizar sus métodos.

De esta manera, por cada modulo no creo que vaya a tener mas de 1 o 2 clases para el modelo a no ser que sea uno bastante grande donde requiera mas cantidad.

Quisiera saber su opinión sobre esta implementacion de MVC ya que he visto muchos ejemplos pero todos con un solo controlador, vista y modelo... ninguno de los que vi separaba en modulos. Cualquier sugerencia que tengan será bienvenida y como dije antes por ahora no me interesa usar ningún framework, desde ya muchas gracias.

Última edición por pingux; 26/10/2013 a las 19:17
  #2 (permalink)  
Antiguo 26/10/2013, 19:20
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 8 meses
Puntos: 96
Respuesta: Modularizacion con MVC

MVC no tiene una estructura fija definida, eso lo acomodas tu pero siguiendo la finalidad de esta, tener las capas separadas, una clase (abstracta) que se conecte a la bd y las clases que reciban y devuelvan los datos para poder ser procesados por el modelo.
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 27/10/2013, 13:13
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: Modularizacion con MVC

Así, rapidamente, te diría que:
- De las carpetas que has creado, "libs" contiene un conjunto de cosas cuyo uso es común.Para mantener ese criterio, tendría lógica que el resto de clases que mencionas, estuviera dentro de una carpeta "objects", "classes" o algo parecido.
- Mientras "message" y "news" son modelos, "login" es una acción que puede realizar un objeto de la clase "user".No es coherente.
  #4 (permalink)  
Antiguo 27/10/2013, 17:55
 
Fecha de Ingreso: octubre-2013
Mensajes: 2
Antigüedad: 11 años
Puntos: 0
Respuesta: Modularizacion con MVC

Gracias por las respuestas.

Dashtrash, ok entonces pondria login como accion de user y no haria que fuera un modulo. Con respecto a lo que decis en el primer punto no me queda muy claro, vos decis que en lugar de separar por modulos tenga todo dentro de una carpeta classes o objects, si es asi, no estaria mezclando todo? si no es asi lo que quisiste indicarme, podrias darme un ejemplo si no es mucha molestia, muchas gracias.

Etiquetas: mvc, usuarios
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 21:12.