我知道在面向对象编程中,$ this指向当前对象。但是在下面的ArticlesController类的代码中,
public function index()
{
$articles = $this->Articles->find('all');
$this->set(compact('articles'));
}
'$ this'似乎是指我要使用的类,即Articles类。我对正在发生的事情感到非常困惑。可以以这种方式使用$ this吗?
答案 0 :(得分:0)
'$ this'似乎是指我要使用的类,即Articles类。可以以这种方式使用$ this吗?
$this
没有引用ArticlesTable
类,但是$this->Articles
引用了。
您的ArticlesController
类具有一个名为Articles
的属性,它是ArticlesTable
类的实例。
这里有一个可能的例子
class ArticlesController
{
private $Articles;
public function __construct()
{
$this->Articles = new ArticlesTable();
}
public function index()
{
$articles = $this->Articles->find('all');
}
}
class ArticlesTable
{
public function find()
{
echo "find method called";
}
}
$controller = new ArticlesController();
$controller->index();