1

如何在 cake php 的组件中使用 Set 函数,尤其是在 cake 版本 1.3 中?

class DevicesComponent extends Object
{
   function startup($controller) 
  { 
    $this->controller = $controller; 
  }
  function push()
  {
      $this->set('data', $data); 
      $this->controller->set('data', $data); 
  }


 }

我收到以下错误致命错误:调用未定义的方法 DevicesComponent::set() 。

我检查了现有的相同问题,但在Cake PHP 组件中的“设置”链接不可用

4

3 回答 3

1

尝试$this->set('data', $data)从您的push功能中删除:

function push()
{
     $this->controller->set('data', $data); 
}

并使用它而不是startup函数:

public function initialize(){

    $this->controller =& $controller;

}
于 2013-05-09T09:18:18.140 回答
0

只需删除该行$this->set('data', $data);,错误就会消失。您已经在下一行有正确的语句来通过控制器实例设置视图变量$this->controller->set('data', $data);

于 2013-05-09T12:26:37.317 回答
0

试试这个代码,它可能有效..

  function startup(&$controller) 
  { 
    $this->controller = $controller; 
  }

并在推送功能中

  function push()
  {
     $this->controller->set('data', $data); 
  }
于 2013-05-10T12:56:53.997 回答