$这在CakePHP中意味着什么?

时间:2018-11-07 03:04:59

标签: php oop cakephp this

我知道在面向对象编程中,$ this指向当前对象。但是在下面的ArticlesController类的代码中,

public function index()
{
    $articles = $this->Articles->find('all');
    $this->set(compact('articles'));
}

'$ this'似乎是指我要使用的类,即Articles类。我对正在发生的事情感到非常困惑。可以以这种方式使用$ this吗?

1 个答案:

答案 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();