0

我已经使用 codeigniter 几个月了,突然之间,它不会让我将任何类型的信息传递给我的视图。它为一个事实加载了正确的视图,但我的变量都不能被回显,如果我这样做,我总是得到 NULL。但是,当我的同事这样做时,他认为变量很好。我们共享同一个存储库。有任何想法吗?我目前正在使用消息方法

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

class App_loader extends CI_Controller {
public $data = array();

function __construct()
{
    parent::__construct();
}

public function dashboard() {
    $this -> load -> view ('apps/dashboard/index');
}

public function appstore() {
    $this -> load -> view ('apps/appstore/index');
}

public function calendar() {
    $this -> load -> view ('apps/calendar/index');
}

public function messages() {
    $this->data["name"] = "Vincent";
    $this->load->view('apps/messages/index',$this->data);
}

public function profile() {
    $this -> load -> view ('apps/profile/index');
}

public function vendors() {
    $this -> load -> view ('apps/vendors/index');
}

public function settings() {
    $this -> load -> view ('settings');
}   
}

在我看来,我所拥有的只是一个死亡声明 die($name); 和一些html。我得到NULL。(是的,它被正确的 php 标签包围。以前有人见过这样的东西吗?

4

2 回答 2

1

变量不需要使用$this关键字。您可以像这样简单地使用:

$data['name'] = 'Vincent';
$this->load->view('apps/messages/index',$data);

在您看来,您可以通过$name获得 name 的值

echo $name;
于 2013-03-05T11:44:38.897 回答
0

您必须使用普通数据数组,例如:

 $data=array(); 
 $data["name"] = "Vincent";
 $this->load->view('apps/messages/index',$data);

不喜欢:

$this->data["name"] = "Vincent";
$this->load->view('apps/messages/index',$this->data);

if used like this you have to put 

$data = array(); in constructor  

而已!

于 2013-03-05T10:21:55.080 回答