Передача компонентных переменных в контроллер в cakePHP - PullRequest
2 голосов
/ 16 января 2012

как передать переменную, объявленную в функции в компоненте cakePHP, в контроллер? Я не могу решить это.

Ответы [ 2 ]

5 голосов
/ 16 января 2012

Вы можете сделать это несколькими способами.По сути, вы просто вызываете нужные функции компонента из контроллера и возвращаете значения:

//In controller
$alteredData = $this->MyComponent->doSomethingWithData($data);

//In component
//You can also pass $data by reference if you want to alter it directly.
public function doSomethingWithData($data){
    //alter data in some way
    return $newData;
}

Согласно документации , у вас также есть прямой доступ к контроллеру из компонента, так что выможет вызывать методы контроллера из компонента.

//In component
private $Controller;
public function initialize($controller){
    $this->Controller = $controller;
}

public function doSomethingWithData($data){
    //alter data in some way
    $this->Controller->set('data', $data);
}
0 голосов
/ 09 мая 2019

в cakePHP 3.x (может быть, только> 3.5)

// in Component
$this->getController()->set('var', $var);
...