इस समस्या के समाधान पाने के लिए, सामान्य रूप से ज्यादातर लोगों को मॉडल वर्ग नाम के आगे '_model' प्रत्यय जोड़ने
मुझे लगता है कि यह बजाय नियंत्रकों के लिए एक प्रत्यय जोड़ना है, क्योंकि वे लगभग अपने वर्ग द्वारा संदर्भित कभी नहीं कर रहे हैं बेहतर है आपके कोड में नाम।
सबसे पहले हमें राउटर क्लास का विस्तार करने की आवश्यकता है। "Application/पुस्तकालयों/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;
}
}
}
अब संपादित करें "प्रणाली/CodeIgniter/CodeIgniter.php"
लाइन 153:
if (! file_exists(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->controller_name().EXT))
लाइन
इस फ़ाइल बनाएँ 158:
include(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->controller_name().EXT);
बगल में, संपादित: "प्रणाली/पुस्तकालयों/Profiler.php", लाइन 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
यही कारण है कि आपको एक फ्रेमवर्क खोजने का प्रयास करना चाहिए जो आपको PHP5.3 [नेमस्पेस] (http://php.net/manual/en/language.namespaces.php) के साथ काम करने देता है। जितना मैं उस ढांचे से नफरत करता हूं, FuelPHP आपके लिए तार्किक कदम हो सकता है। इसकी काफी नई सीआई कांटा। हां, ज़ाहिर है, अगर आपके पास कोई ढांचा है जिसका ढांचा उपयोग किया जाता है या आप उस चरण में हैं जहां यह संभव है। यदि नहीं .. तो जब आप अगली परियोजना उठाते हैं तो इसे ध्यान में रखें। –
पता नहीं है कि आप FuelPHP से विचार कहां प्राप्त करते हैं सीआई का एक कांटा है। ऐसा नहीं है, स्क्रैच से बनाया गया था, सीआई के साथ कुछ भी सामान्य नहीं है, और यह संगत नहीं है। – WanWizard