Ver Mensaje Individual
  #11 (permalink)  
Antiguo 11/07/2011, 08:37
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Cuantos controladores? Uno global para el proyecto o uno por pagina del pr

Cita:
Iniciado por destor77 Ver Mensaje
esta bien de ambas forma, por ahi por una cuestión de organización lo mejor es separar los controladores y no tener uno solo, supongamos que tiene un proyecto con 100 secciones y por cada sección tienes al menos 3 acciones, estamos hablando de un archivo con 300 funciones, lo cual se puede hacer muy pesado el archivo o muy engorroso depurarlo, a comparación de tener 300 archivos con 3 acciones, y si tenes que tocar la accion guardar de la seccion 78, vas al controlador 78 y listo.
Ahora... por que en lugar de una clase con cientos de metodos en un proyecto grande.......... como bien dice destor77 ... no crear una clase MY_Controller y extenderla ?

Yo hago esto:

Código PHP:
<?php (defined('BASEPATH')) OR exit('No direct script access allowed');

// funcionamiento: extender a MY_Controller en vez de CI_Controller

class MY_Controller extends CI_Controller{

  protected 
$data=array();

  function 
__construct(){    
    
parent::__construct();                        
      if (
is_logged()){     
            
/* especifico usuario logueado */
      
}    
  }
  
      protected function 
view($tpl='corp',$data=null){
      if (
$data==null){
        
$data $this->data;
      }      
      
$this->load->view('tpl/corp/cuts/tpl_begin.php',$data);    $this->load->view('tpl/corp/cuts/tpl_header.php');     

          
/* muestro de forma condicional algunas vistas */
      
if (!is_first_time()){  
        
$this->load->view('tpl/corp/cuts/tpl_feature.php');
          }        
      
      
$this->load->view('tpl/corp/cuts/tpl_content.php',$data);
      
         
/* muestro de forma condicional algunas vistas */
      
if (!is_logged()){  
        
$this->load->view('tpl/corp/cuts/tpl_sidebar.php',$data);
      }    
      
      
$this->load->view('tpl/corp/cuts/tpl_footer.php');
    }

}
//  end class MY_Controller
Donde dice 'tpl/corp/cuts/algo.php' obviamente debe ser usando $tpl
__________________
Salu2!

Última edición por Italico76; 11/07/2011 a las 08:42