Per ovviare a questo problema, di solito la maggior parte delle persone aggiungere il suffisso '_model' per i nomi di classe Modello
penso che è meglio aggiungere un suffisso per i controllori, invece, dal momento che sono quasi mai riferimento da loro classe nomi nel tuo codice.
Per prima cosa è necessario estendere la classe del router.
Creare questo file: “application/librerie/MY_Router.php”
class MY_Router extends CI_Router {
var $suffix = '_controller';
function __construct() {
parent::CI_Router();
}
function set_class($class) {
$this->class = $class . $this->suffix;
}
function controller_name() {
if (strstr($this->class, $this->suffix)) {
return str_replace($this->suffix, '', $this->class);
}
else {
return $this->class;
}
}
}
Ora modifica “Sistema/codeigniter/CodeIgniter.php”
linea 153:
if (! file_exists(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->controller_name().EXT))
linea 158:
include(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->controller_name().EXT);
successivo, modificare: “Sistema/librerie/Profiler.php”, la linea 323:
$output .= "
<div style="color:#995300;font-weight:normal;padding:4px 0 4px 0">".$this->CI->router->controller_name()."/".$this->CI->router->fetch_method()."</div>";
Source
Ecco perché dovresti provare a trovare un framework che ti permetta di lavorare con PHP5.3 [namespace] (http://php.net/manual/en/language.namespaces.php). Per quanto odio quel framework, FuelPHP potrebbe essere il passo logico per te. La sua forcella CI piuttosto nuova. Questo è, naturalmente, se hai il controllo su quale framework è usato o se sei nella fase in cui è possibile. Altrimenti ... tienilo in considerazione quando prendi il prossimo progetto. –
Non so da dove viene l'idea di FuelPHP è un fork di CI. Non è, è stato costruito da zero, non ha nulla in comune con CI e non è compatibile. – WanWizard