在我的控制器中我有这个:
$this->data['post'] = $this->mdl_posts->get_post_by_slug($slug);
var_dump($this->data['post']);
die();
输出 null
但是,当我将其更改为:
$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']
。
我使用$ this->数据而不是$ data因为我从构造函数向方法等发送一些变量所以我需要使用它像$ this-> data ...
答案 0 :(得分: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
}
}