2014-05-21 54 views
2

我無法弄清楚我做錯了什麼。在我的應用程序的核心目錄中,我有兩個文件CMController.php和CMBase.php。無法自動加載核心目錄中的文件

CMBase.php

class CMBase extends CI_Controller {} 

CMController.php

CMController extends CMBase {} 

然後隨機控制器

class RandomController extends CMController {} 

我也得到

Fatal error: Class 'CMBase' not found 

將config中的subclass_prefix設置爲CM。 如果我在CMController文件中做require_once'CMBase.php',它工作正常。 所以我的問題是爲什麼文件CMBase沒有自動加載?

回答

0

當你擴展需要與「控制器」結束核心控制器類的名字。所以你不能命名你的班級CMBase它必須是CMBase_Controller

因此,如果$config['subclass_prefix']值是「CM」你的類需要像

class CMController extends CI_Controller {//...} 

然後,一旦你這樣做,你可以做

class AnyClassName extends CMController {//...} 
0

您是否試過尋找$ config ['subclass_prefix'] ='MY_';應用文件夾。只能擴展MY_Controller等http://ellislab.com/codeigniter/user-guide/general/controllers.html

https://github.com/EllisLab/CodeIgniter/wiki/MY-Controller

我認爲你缺少_下劃線部分即MY_

+0

已經嘗試過,但不是爲我工作 – MZON

+0

class CMBase extends CI_Controller {}嘗試類「Your name」在覈心文件中擴展CMBase {}請參閱hmvc加載類的方式MY_Loader extends MX_Loader {} –

相關問題