У меня очень странная проблема.
У меня есть эта разрешенная функция на контроллере:
public function getUserAvatar($id){
echo "Hello";
$var = this->Url->hello();
echo "bye";
echo $var;
}
И в компоненте Url у меня есть эта функция:
public function hello(){
return "component";
}
Я не знаю почему, он печатает «Привет» и на этом останавливается.
Он не печатает «пока» и «var;
»
Что может быть? Я схожу с ума !!
UPDATE:
Теперь я понимаю, что это происходит со мной всегда , когда я вызываю контроллер с другого контроллера, а второй контроллер вызывает компонент.
Примерно так:
Controller1
public function test(){
$controller2 = new Controller2();
$data = $controller2->getUserAvatar();
}
Controller2
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'));
Так ... что я делаю не так? Спасибо.