在Cake of Cake PHP中'设置'

时间:2012-04-19 14:00:25

标签: cakephp cakephp-1.3

如何在cake php中的组件中使用Set函数?

class TestComponent extends Object
{
  //etc

 $this->set('User', $user); 

 }

我收到错误

Fatal error: Call to undefined method TestComponent::set() 

如何纠正这个问题?

2 个答案:

答案 0 :(得分:7)

function startup($controller) { $this->controller = $controller }
function something() {
    $this->controller->set('User',$user);
}

Cake将Controller引用传递给Component的启动功能。您需要在组件中保留一个引用,以便稍后在自定义函数中使用。

请参阅此处http://book.cakephp.org/1.3/en/view/996/Creating-Components#MVC-Class-Access-Within-Components-998

答案 1 :(得分:0)

由于大多数时候从控制器调用Component方法,因此可以从控制器中的函数返回值。 如果您想为视图层设置变量,则可以使用

$this->Controller->set('varForView',varValue);

这是因为组件具有一个类变量,用于实例化它的Controller实例。