CakePHP:读取组件中的当前模型数据?

问题描述 投票:0回答:1

有关创建自己的组件的文档非常糟糕。

如何读取组件内的模型数据?

尝试做一些像尝试获取 $this->request->params['pass'][0] 这样简单的事情让我想自杀。考虑到组件应该插入控制器,我很惊讶它如此困难。

php cakephp
1个回答
1
投票

您为什么不使用现有的信息? 例如,您可以直接查看代码。它是开源的,并且可以通过 github 轻松浏览:

https://github.com/cakephp/cakephp/blob/2.3/lib/Cake/Controller/Component/PaginatorComponent.php#L226

在那里,您会发现可以从任何 API 或文档中获得更多信息。 例如,使用

public function __construct(ComponentCollection $collection, $settings = array()) {
    $settings = array_merge($this->settings, (array)$settings);
    $this->Controller = $collection->getController();
    parent::__construct($collection, $settings);
}

然后

$this->Controller->... 

在代码中的任何位置,您都可以访问当前控制器中的几乎任何内容。 就像您在这个控制器内一样。

所以也:

$this->Controller->request->params['pass'][0]

或者只是

$this->Controller->request->pass[0]

PS:除了所有这些测试用例之外,还有超过 6 个其他组件可供学习。

© www.soinside.com 2019 - 2024. All rights reserved.