如何在组件中使用“set”,特别是在cakephp中?

时间:2013-05-09 08:08:14

标签: cakephp cakephp-1.3

如何在cake php中的组件内部使用Set功能,特别是在蛋糕版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()。

我检查了现有的相同问题,但链接不可用'Set' in Components of Cake PHP

3 个答案:

答案 0 :(得分:1)

尝试从$this->set('data', $data)函数中删除push

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

使用此代替startup函数:

public function initialize(){

    $this->controller =& $controller;

}

答案 1 :(得分:0)

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

答案 2 :(得分:0)

试试这段代码,它可能会有效..

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

并且在推送功能

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