Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

MVC - Definir controlar y acción por defecto

Estas en el tema de MVC - Definir controlar y acción por defecto en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola buenas, Tengo una duda.. en el patrón MVC, se define un controlador por defecto y una acción por defecto? Se puede definir una acción ...
  #1 (permalink)  
Antiguo 20/04/2011, 12:08
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
MVC - Definir controlar y acción por defecto

Hola buenas,

Tengo una duda.. en el patrón MVC, se define un controlador por defecto y una acción por defecto?

Se puede definir una acción por defecto por cada controlador?

Un saludo!
  #2 (permalink)  
Antiguo 20/04/2011, 13:19
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: MVC - Definir controlar y acción por defecto

normalmente todos los controladores se les define un index que es la opcion por defecto que deberian tomar, aca tienes un frontController del que puedes guiarte para trabajar el MVC, si te fijas este lo que hace es tomar de la url el controlador y la accion que va a realizar y de no tener una automaticamente carga la por defecto, espero te sea de utilidad, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 20/04/2011, 14:21
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: MVC - Definir controlar y acción por defecto

Cita:
Iniciado por carlos_belisario Ver Mensaje
normalmente todos los controladores se les define un index que es la opcion por defecto que deberian tomar, aca tienes un frontController del que puedes guiarte para trabajar el MVC, si te fijas este lo que hace es tomar de la url el controlador y la accion que va a realizar y de no tener una automaticamente carga la por defecto, espero te sea de utilidad, saludos
Hola buenas,

Muchas gracias, yo tengo lo mismo, pero tengo una acción para un controlador por defecto, pero no para cada controlador.. no se si me entiendes..

Yo quiero una acción por defecto para cada controlador.

Un saludo!
  #4 (permalink)  
Antiguo 20/04/2011, 14:29
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: MVC - Definir controlar y acción por defecto

si te fijas el link que te deje deja una accion por defecto en caso de no indicar una
Cita:
if( empty( $controller ) ) { // Comprobamos si esta vacia, si asi es definimos que por defecto cargue Index
$controller = "index";
}
if( empty( $accion ) ) { // Comprobamos tambien la accion
$accion = "index";
}
si te fijas de no tener controlador carga por defecto el index igualmente con la accion, que debes de hacer tener una accion index en tus controladores, o no se si no capte bien (lo mas seguro )
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 20/04/2011, 16:05
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: MVC - Definir controlar y acción por defecto

Hola buenas,

Muchas gracias por tu respuesta.

Si.. pero esto me obliga a tener un index en cada controlador.. esto se hace asi? es decir... siempre tiene que haber un index en cada controlador?

Un saludo y gracias!
  #6 (permalink)  
Antiguo 20/04/2011, 18:26
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: MVC - Definir controlar y acción por defecto

por logica siempre deberia de haber algun index por si no colocan alguna accion automaticamente este tome esta opcion,
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 21/04/2011, 00:52
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: MVC - Definir controlar y acción por defecto

De acuerdo,

Muchas gracias y un saludo!
  #8 (permalink)  
Antiguo 21/04/2011, 13:43
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: MVC - Definir controlar y acción por defecto

lo que puedes hacer es tener un archivo de configuracion y ahi setear cual queres que sea el método por defecto para todos los controladores tipo:

Código PHP:
Ver original
  1. $config['action_default'] = 'listado';
  2. $config['controller_default'] = 'productos';

y despues tener:
Código PHP:
Ver original
  1. if( empty( $controller ) ) { // Comprobamos si esta vacia, si asi es definimos que por defecto cargue Index
  2. $controller = $config['controller_default'];
  3. }
  4. if( empty( $accion ) ) { // Comprobamos tambien la accion
  5. $accion = $config['action_default'];
  6. }

o mejor aún usar algun router donde vos puedas especificar que accion es la default para cada controlador.

salu2
  #9 (permalink)  
Antiguo 21/04/2011, 14:35
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: MVC - Definir controlar y acción por defecto

interesante lo del archivo de configuracion no se me habia ocurrido, creo que es una buena idea, por lo del router es como lo hace actualmente segun entendi ya que trabaja con el FrontController, si te fijas en el link estas lineas
Cita:
if( empty( $controller ) ) { // Comprobamos si esta vacia, si asi es definimos que por defecto cargue Index
$controller = "index";
}
if( empty( $accion ) ) { // Comprobamos tambien la accion
$accion = "index";
}
son las que determinan eso, que creo que es lo mismo que colocaste, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #10 (permalink)  
Antiguo 22/04/2011, 04:32
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: MVC - Definir controlar y acción por defecto

Hola buenas de nuevo,

Sí, yo actualmente tengo un fichero de configuración donde me defino el controlador por defecto y la acción por defecto.

Pero.. en la implementación de mi front controller, me gustaría que si llamo a otro controlador, y la acción no existe, se llame a la acción por defecto para ese controlador.

Definir una acción index para cada controlador me parece una buena idea... pero me gustaría más tener una acción definida.. me gustaría saber que es lo que se hace en un proyecto real,

Un saludo!
  #11 (permalink)  
Antiguo 22/04/2011, 12:32
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: MVC - Definir controlar y acción por defecto

en un proyecto real se hace algunas de las dos cosas que te indicamos, o usas el archivo de configuración o usar un router, te dejo el link de la ayuda de codeigniter sobre como trabaja los routers para que te des una idea
http://codeigniter.com/user_guide/general/routing.html
salu2

Etiquetas: controlar, defecto, definir, mvc
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 12:24.