为什么我不能传递在Code Igniter控制器的构造函数中初始化的值?

时间:2012-04-08 20:00:21

标签: php codeigniter

我在Code Igniter应用程序中有这个控制器。值在构造函数中初始化。

class Cat extends CI_Controller {
    private $data = array();

    public function __construct() {
        parent::__construct();
        $this->data['sound'] = "meow";
    }                                 
    public function index() {
        $this->load->view('myCatPage', $data); 
    }
}

视图“views / myCatPage.php”看起来像这样。这很简单。

<?= $sound ?>

为什么PHP会注意到这个错误?

Message: Undefined variable: sound

我以为我已将此变量作为我发送到视图中的数组($data)中的键发送。 我试过了

$this->load->view('myCatPage', $this->data);

但奇怪的是也失败了。

1 个答案:

答案 0 :(得分:9)

class Cat extends CI_Controller {
    var $data = array();
    public function __construct() {
        parent::__construct();
        $this->data['sound'] = "meow";
    }                                 
    public function index() {
        $this->load->view('myCatPage', $this->data); 
    }
}