2013-03-22 106 views
0

在我的控制器我有这样的:

$this->data['post'] = $this->mdl_posts->get_post_by_slug($slug); 
var_dump($this->data['post']); 
die(); 

输出是

然而,当我将其更改为:

$data['post'] = $this->mdl_posts->get_post_by_slug($slug); 
var_dump($data['post']); 
die(); 

我得到整个阵列的不错的var_dump如我所愿。

我的问题是为什么var_dump或print_r不能与$this->data['post']并且仅与$data['post']一起使用。

我使用$这 - >数据,而不是$的数据,因为我是从构造函数发送一些变量的方法等,所以我需要使用像$这个 - >数据...

+0

什么是'$ this'这里? – raina77ow 2013-03-22 15:34:40

回答

1

$this->data会意味着data是您正在操作的课程的成员。 data必须是您正在操作的方法的本地变量,但不是您班级的成员。

class MyClass { 

    private $member = "123"; 

    public function __construct() { 
     $this->methodCall("abc"); 
    } 

    public function methodCall($nonMember) { 
     echo $nonMember;  // valid 
     echo $this->member; // valid 
     echo $this->nonMember; // not valid 
    } 

} 
相关问题