2017-06-12 65 views
0

我正在使用core/MY_Controller.php并更改了所有的控制器以扩展MY_Controller而不是CI_Controller。现在,来自CodeIgniter的所有'核心'功能都不能在我的常规控制器上工作,例如:自动加载的模型会给出Undefined property错误,而像$this->load->...这样的东西也不能正常工作。使用MY_Controller时CodeIgniter内核不可用

core/MY_Controller.php

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class MY_Controller extends CI_Controller { 

    public $test = false; 

    public function __construct() 
    { 
     $this->test = "test"; 

    } 
} 

我开始我的所有控制器都与此:

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 

class Dashboard extends MY_Controller { 
+0

我认为你需要写'''需要'''在你的文件开始。 – kishor10d

+0

希望您在Base_Controller的__construct()函数中使用了'parent :: __ construct();'。 –

回答

0

如果你有一类扩展一些其他类__construct()方法,那么你几乎总是需要调用孩子的父构造函数。

试试这个简单的添加到您的构造函数。

public function __construct() 
{ 
    parent::__construct(); 
    $this->test = "test"; 
} 
0

试试这个先在我的控制器

<?php 

class MY_Controller extends CI_Controller { 

    public $data = array(); 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->data['test'] = "test"; 

    } 
} 

然后创建一个变量,像public $data = array()

<?php 


class Example extends MY_Controller 
{ 

    public $data = array(); 

    public function index() 
    { 
     $this->load->view('example', $this->data); 
    } 

} 

查看

<?php echo $hello;?> 
相关问题