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

CODEIGNITER siempre un controlador debe corresponder a una vista?

Estas en el tema de CODEIGNITER siempre un controlador debe corresponder a una vista? en el foro de CodeIgniter en Foros del Web. Buenas!! Primero que nada agradezco a todos los que se tomen el tiempo de leer el tema! Me ha surgido una duda con respecto al ...
  #1 (permalink)  
Antiguo 14/07/2014, 20:43
Avatar de mili_07  
Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 1 mes
Puntos: 1
CODEIGNITER siempre un controlador debe corresponder a una vista?

Buenas!! Primero que nada agradezco a todos los que se tomen el tiempo de leer el tema!
Me ha surgido una duda con respecto al famoso framework CODEIGNITER, siempre un controlador debe corresponder a una vista? O puedo por ejemplo en una vista tener diferentes function que me carguen diferentes vistas? Por ejemplo tengo:

El controlador "Pages" y tengo:

Código PHP:
class Pages extend CI_Controller{
        function 
home(){ $this->load->view(pages/home); }
        function 
contacto(){$this->load->view(pages/contacto); }

Y hasta donde lo he probado funciona bien pero quería saber si era una buena o mala práctica del patrón MVC.
MUCHISIMAS GRACIAS!
Saludos a toda la comunidad!
__________________
...Si quieres que tu código funcione y tienes errores, borra todo y vuelve a empezar...
  #2 (permalink)  
Antiguo 15/07/2014, 07:14
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: CODEIGNITER siempre un controlador debe corresponder a una vista?

Lo que pretendes es posible y completamente valido un controlador no significa que solo aplique a una sola vista
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 22/07/2014, 16:13
Avatar de epinaresg  
Fecha de Ingreso: noviembre-2011
Mensajes: 13
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: CODEIGNITER siempre un controlador debe corresponder a una vista?

Asi es, un controlador puede contener varias funciones la cuales pueden cargar un o mas vistas, aunque tambien puedes darles otros usos como funciones AJAX o alguna función privada de tu controlador.

Código PHP:
Ver original
  1. <?php
  2.  
  3. class Pages extends CI_Controller {
  4.  
  5.     function home() {
  6.         $this->cargar_layout('pages/home');
  7.     }
  8.  
  9.     private function cargar_layout($vista) {
  10.         $this->load->view('pages/header'); // Cabecera
  11.         $this->load->view($vista);
  12.         $this->load->view('pages/footer'); // Footer
  13.     }
  14.  
  15.     function funcion_AJAX() {
  16.  
  17.         $datos = array();
  18.         /*
  19.          *  Code
  20.          */
  21.  
  22.         exit(json_encode(array('data' => $datos)));
  23.     }
  24.  
  25. }
  #4 (permalink)  
Antiguo 26/07/2014, 09:59
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: CODEIGNITER siempre un controlador debe corresponder a una vista?

recuerda que el objetivo del controlador es manejar la respuesta, por lo tanto puede devolver cualquier cosa, ya sea el resultado de una vista, un archivo, un fragmento de código para AJAX, etc.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: controlador, mvc, php
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 23:22.