Aby obejść ten problem, zwykle większość ludzi dodać „_model” przyrostek do nazwy klasy modelu
myślę, że lepiej jest dodać przyrostek do kontrolerów zamiast, ponieważ są one prawie nigdy nie odwołuje swojej klasie imiona w twoim kodzie.
Najpierw musimy rozszerzyć klasę Routera.
Tworzenie ten plik „application/libraries/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;
}
}
}
Teraz edytuj „system/CodeIgniter/CodeIgniter.php”
linii 153:
if (! file_exists(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->controller_name().EXT))
wiersza 158:
include(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->controller_name().EXT);
Następnie edit: „System/Biblioteki/Profiler.php”, linia 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
Oto dlaczego powinieneś spróbować znaleźć framework, który umożliwia pracę z PHP5.3 [namespaces] (http://php.net/manual/en/language.namespaces.php). Chociaż nienawidzę tej struktury, FuelPHP może być logicznym krokiem dla ciebie. Jest to całkiem nowy widelec CI. To oczywiście, jeśli masz jakąkolwiek kontrolę nad tym, która struktura jest używana lub jesteś na etapie, na którym jest to możliwe. Jeśli nie, po prostu zachowaj to dla rozważenia, kiedy odbierzesz kolejny projekt. –
Nie wiem, skąd wziął się pomysł z FuelPHP to widelec CI. Nie jest, został zbudowany od zera, nie ma nic wspólnego z CI i nie jest zgodny. – WanWizard