我想從我的子控制器調用我的核心控制器類application/core
application/controllers
。我有Home
控制器home.php
在application/controllers
,延伸Public_Controller
在application/core
。我home.php
是這樣的:Codeigniter無法調用核心類
<?php
class Home extends Public_Controller
{
public $data = array(
'page' => 'home',
'main_view' => 'home'
);
public function index()
{
$this->load->view($this->layout, $this->data);
}
}
在覈心文件夾
,我已經public_controller.php
<?php
class Public_Controller extends MY_Controller
{
// Layout untuk "Publik"
public $layout = 'layout';
}
從上面的代碼中,MY_Controller也位於核心。這裏的代碼
<?php
class MY_Controller extends CI_Controller
{
public function __construct()
{
parent::__construct();
// Autoload model.
$model = strtolower(get_class($this));
if (file_exists(APPPATH . 'models/' . $model . '_model.php')) {
$this->load->model($model . '_model', $model);
}
}
}
因此,在總結我有控制器home
在application/controllers
延伸在application/core
public_controller
和public_controller
延伸my_controller
,同樣在application/core
。 我已經通過將此代碼
function __autoload($class)
{
if(strpos($class, 'CI_') !== 0)
{
@include_once(APPPATH . 'core/'. $class . EXT);
}
}
,所以我可以通過引用從這個https://philsturgeon.uk/codeigniter/2010/02/08/CodeIgniter-Base-Classes-Keeping-it-DRY/
連接基地控制器控制器修改配置/ config.php文件,但它仍然無法正常工作。說,
Fatal error: Class 'Public_Controller' not found in C:\xampp\htdocs\cipsb\application\controllers\home.php on line 2
有什麼我可以做的解決這個問題? 謝謝