2

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

class TestComponent extends Object
{
  //etc

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

 }

我收到一个错误

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

如何纠正?

4

2 回答 2

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

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

见这里http://book.cakephp.org/1.3/en/view/996/Creating-Components#MVC-Class-Access-Within-Components-998

于 2012-04-19T14:10:32.127 回答
0

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

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

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

于 2013-09-27T06:05:46.090 回答