Вызов метода компонента из контроллера CakePHP 2.0 - PullRequest
0 голосов
/ 28 марта 2012

У меня очень странная проблема. У меня есть эта разрешенная функция на контроллере:

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'));

Так ... что я делаю не так? Спасибо.

...