php - CakePHP 中的 $this 是什么意思?
问题描述
我知道在面向对象编程中, $this 指的是当前对象。但是在下面ArticlesController类的代码中,
public function index()
{
$articles = $this->Articles->find('all');
$this->set(compact('articles'));
}
'$this' 似乎是指我要使用的类,即 Articles 类。我对正在发生的事情感到非常困惑。$this 也可以这样使用吗?
解决方案
'$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();
推荐阅读
- javascript - React redux - 映射对象时的useSelect() 和useDispatch()
- c - 自旋锁 list_for_each_entry_safe 或 list_for_each_entry 是否安全?
- c - GCC 选项 -Wdeclaration-after-statement 是纯粹的风格吗?
- java - 正在生成目录而不是 excel 文件
- python - 如何从元组列表中获取名称
- python - 塞萨尔加密
- git - 我可以使用 Git 以两种方式更改提交历史记录吗?
- amazon-web-services - AWS 多 DNS A 记录创建
- sql-server - SQL Server XML 命名空间冒号
- android - 如何使用 Volley 在 GET 请求中发送正文