我有一个奇怪的问题。 我在控制器上有这个允许的功能:
public function getUserAvatar($id){
echo "Hello";
$var = this->Url->hello();
echo "bye";
echo $var;
}
在Url组件中我有这个功能:
public function hello(){
return "component";
}
我不知道为什么,它会打印“你好”并停在那里。 它不会打印“再见”和“var;
会发生什么?我疯了!!
现在我认为,当我从另一个控制器调用控制器并且第二个控制器调用一个组件时,我已经发生了始终。 像这样:
控制器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'));
那么......我做错了什么?感谢。