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

Métodos get, post, cookie, sesion y links en MVC

Estas en el tema de Métodos get, post, cookie, sesion y links en MVC en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy haciendo un pequeño framework para trabajar con mvc en php, de tala forma que sea sencillo de modificar y hacer nuevos sistemas de páginas, ...
  #1 (permalink)  
Antiguo 01/07/2011, 07:45
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 3 meses
Puntos: 3
Métodos get, post, cookie, sesion y links en MVC

Estoy haciendo un pequeño framework para trabajar con mvc en php, de tala forma que sea sencillo de modificar y hacer nuevos sistemas de páginas, mucho mas rápido.

Todo de maravilla, hasta que debo preparar los links, por ejemplo, para una noticia. Mi modulo carga la extensión de "noticias", cuando se le es indicado por el controlador. Esta extension busca en la DB las noticias y las mete en un array. Todo ok pero, ¿Que pasa cuando necesito crear el link a la noticia individual? Creo que no debería crear los links en cada metodo de la extension de noticias, sería un desastre si luego quiero editarlo.

En sintesis tengo dos dudas: ¿Las variables get,post,etc las tiene el Modulo o el Controller? ¿Quien crea los links, el controlador o el módulo?

La solucion que veo es crear un objeto, que se pase a travez de parámetros, capaz de crear links a traves de un archivo de configuracion. O hacer métodos separados en cada módulo. ¿Cual sería la mejor solucion?

Saludos, gracias por leer, al mismo tiempo agradecería todas las respuestas
  #2 (permalink)  
Antiguo 01/07/2011, 08:03
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 6 meses
Puntos: 331
Respuesta: Métodos get, post, cookie, sesion y links en MVC

Supongo que por "Módulo" te refieres al "Modelo". Las variables superglobales están en todas partes, pero es en el control donde debes utilizarlas para decidir sobre el flujo del programa. Para crear links, si entiendo tu pregunta, has de generar la información en el control y luego asignarla en la vista.
La mejor solución depende de tu sistema en concreto, lo de crear links a través de un objeto con un archivo de configuración suena un poco complejo para un link html.
Espero haberte ayudado, salu2!
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 01/07/2011, 08:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Métodos get, post, cookie, sesion y links en MVC

El controlador debe ser solo aquello que le indica al modelo que va a trabajar y a la vista aquello que va a mostrar. El control de lo que debe tener los enlaces debe ser en el modelo, pero en la vista es donde indicas la ruta. No "debe" haber etiquetas en el modelo, es decir si creas los enlaces, estos deben ser creados (las etiquetas) en la vista y obtener y mostrar las rutas de lo que creo el modelo. En la vista no todo va a ser etiquetas solamente, también hay lenguaje de programación, pero lo esencial. Como por ejemplo foreach, if, elseif, else, echo...
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 01/07/2011, 08:15
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: Métodos get, post, cookie, sesion y links en MVC

También recuerda que precisamente una de las ventajas del MVC es esa, la separación de capas, la idea es que tu modelo reaccione a variables, por ejemplo un modelo noticias:
Código PHP:
Ver original
  1. class Modelo_Noticias
  2. {
  3.          public function getNoticiaPorId($idNoticia)
  4.          {
  5.                     // Toda tu logica para obtener esa noticia por id
  6.           }
  7. }

Ese parámetro $idNoticia no importa de donde venga, la idea es que el modelo sepa que ese es el número de noticia a extraer. Posteriormente la tarea de tu controller, es leer esa variable (ya se por GET, POST, etc) y la inyecte al modelo y pase el modelo a la vista para que sea mostrado, ese es el modelo MVC.

Asi en un futuro queda desacoplado, supongamos que quieres cambiar de Web a un programa plataforma, puedes casi migrar toda la capa del modelo a tu nuevo programa sin mucho problema.

Saludos.
  #5 (permalink)  
Antiguo 01/07/2011, 09:07
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Métodos get, post, cookie, sesion y links en MVC

Perdón, escribí link, pero quise decir rutas o url's, mas bien.

Entonces quien crea las rutas? El modelo, supongo, pero, ¿que pasa si debo modificar la forma de los ruta?

El modulo del modelo de post devuelve un arreglo tipo:
Código PHP:
array (
'name' => 'el nombre',
...
...
...
'url' => 'ruta.com/index.php?t=post&id=1'
/* Si luego debo cambiar esto por ruta.com/post/id/1/ con rewriterule, 
tendría que cambiar todas las funciones del controlador post
*/

Saludos

Última edición por Carlmycol; 01/07/2011 a las 09:15
  #6 (permalink)  
Antiguo 01/07/2011, 09:37
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: Métodos get, post, cookie, sesion y links en MVC

La ruta debe de ser independiente y es parte del controlador, ya que es la tarea del controlador el definir que controlador/accion instanciar, es por eso que las rutas son parte del controlador y deben de ser independientes al modelo.

Saludos.
  #7 (permalink)  
Antiguo 01/07/2011, 09:47
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Métodos get, post, cookie, sesion y links en MVC

Para concluir, la solucion es, dividir el controlador en modulos independientes que llamen a su respectivo model, en este caso, NoticiasController, recibe un array con las noticias en un array, y este controlador le agrega las url. ¿Es así?
  #8 (permalink)  
Antiguo 01/07/2011, 09:50
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: Métodos get, post, cookie, sesion y links en MVC

No entiendo para que quieres eso de agregar las urls al modelo, como te comento más arriba el modelo debe de ser independiente de eso, el modelo no debe de conocer nada del entorno y sí, es necesario que hagas un controlador por cada grupo de acciones lógicas que quieras hacer, si no vas a terminar con un controlador de 4,000 lineas de código que va a ser complicado de mantener.
  #9 (permalink)  
Antiguo 01/07/2011, 09:54
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Métodos get, post, cookie, sesion y links en MVC

Primero. Muchísimas muchísimas gracias por la ayuda.

Por último y para terminar, variables de configuracion como numero de post's por página deben estar en el Controlador tambien, ¿no?. En cuyo caso que estas variables esten en la base de datos, pues creo un controlador y un modelo aparte para eso.

Saludos, muchísimas gracias de nuevo
  #10 (permalink)  
Antiguo 01/07/2011, 10:02
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: Métodos get, post, cookie, sesion y links en MVC

Eso debería de estar en un archivo de configuración o bdd que igual sea leida en dado caso por el controller en un modelo propio y lo inyectas al otro modelo, o que el modelo mismo lo lea desde el archivo de configuración.

Saludos.
  #11 (permalink)  
Antiguo 01/07/2011, 10:51
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Métodos get, post, cookie, sesion y links en MVC

Muchass gracias a todos por sus respuestas, pero sobretodo a ti Gatorv, genialísima tu ayuda, se me despejaron todas las dudas. Ya con "el modelo no debe conocer nada del entorno" me has ayudado a millon.

Saludos

Etiquetas: cookie, links, mvc, post
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 19:17.