Cita:
Iniciado por destor77
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