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 ステートメント 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 に答える