从控制器CakePHP 2.0调用组件方法

时间:2012-03-28 16:44:07

标签: methods controller components cakephp-2.0

我有一个奇怪的问题。 我在控制器上有这个允许的功能:

public function getUserAvatar($id){ 
     echo "Hello";
     $var = this->Url->hello();
     echo "bye";
     echo $var;
}

在Url组件中我有这个功能:

public function hello(){
     return "component";
}

我不知道为什么,它会打印“你好”并停在那里。 它不会打印“再见”和“var;

会发生什么?我疯了!!

UPDATE:

现在我认为,当我从另一个控制器调用控制器并且第二个控制器调用一个组件时,我已经发生了始终。 像这样:

控制器1

 public function test(){
        $controller2 = new Controller2();
        $data = $controller2->getUserAvatar();
    }

控制器2

var $components = array('Component1');

public function getUserAvatar(){
   $this->Component1->sayHi();
   echo "bye";
}

的Component1

public function sayHi(){
     return "hi";
}

为了避免它,我必须使用requestAction调用,例如:

$this->requestAction(array('controller' => 'controller1', 'action' => 'test'));

那么......我做错了什么?感谢。

0 个答案:

没有答案