在我的控制器中我有这个:
$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而不是$data,因为我从构造函数发送一些变量到方法等,所以我需要使用它像$this->data…
$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
}
}