ZF2: Jak przekazać parametry do przekazania wtyczki, którą mogę następnie zastosować w metodzie, do której je przekazuję?

Mam metodę akcji wbla Kontroler, który wymaga parametrów:

public function fooAction($one, $two) {
    $a = one;
    $b = $two;
}

I muszę przejść do tej metody z innej metody niektórychGwizd Kontroler. A jeden z tych parametrów musi być parametrem odniesienia. Jedyny przykładinstrukcja ma to:

$result = $this->forward()->dispatch('Boo\Controller\Boo', array('action' => 'boo'));

Brak dodatkowych parametrów. Ale piszą:

$ params to opcjonalna tablica parametrów, za pomocą której można zobaczyć obiekt RouteMatch dla celów tego konkretnego żądania.

Próbowałem więc:

$result = $this->forward()->dispatch('Boo\Controller\Boo', array(
                                                      'action' => 'boo',
                                                      'one' => &$one,
                                                      'two' => $two,
                                                 ));

Ale to nie działa.

Czy jest jakiś sposób na przekazanie dodatkowych parametrów do kontrolera przekazywania?

UPD:

Te też nie działają:

$result = $this->forward()->dispatch('Boo\Controller\Boo', array(
                                                      'action' => 'boo',
                                                      'params' => array(
                                                          'one' => &$one,
                                                          'two' => $two,
                                                     )));


$result = $this->forward()->dispatch('Boo\Controller\Boo', array(
                                                      'action' => 'boo',
                                                      'options' => array(
                                                          'one' => &$one,
                                                          'two' => $two,
                                                     )));

UPD 2:

Nadal nie mogę uzyskać żądanej funkcjonalności (aby przekazać parametry za pomocąforward wtyczka), ale znalazłem inne rozwiązania. Przed wywołaniemforward plugin Ustawiam zmienne naRequest obiekt i poforward Dostaję je odRequest w moimgwizd Akcja mojegoBoo Controller BooController:

// in Foo::fooAction
$this->getRequest()->one = &$one;
$this->getRequest()->two = $two;
$result = $this->forward()->dispatch('Boo\Controller\Boo', array('action' => 'boo'));

// in Boo::booAction
$a = $this->getRequest()->one;
$b = $this->getRequest()->two;

Głupie rozwiązanie, nie będzie działać z żądaniami Ajax. Nadal interesuje mnie, jak przekazywać parametry za pomocą wtyczki forward. LUB MOŻESZ je zdobyćbooAction. Ponieważ nie ma niczego wRequest jeśli podam je zforward.

UPD 3 i Final:

W końcu znalazłem miejsce, w którym zdecydowali się ukryć parametry, które przekazuję za pomocąforward podłącz. Włożyli je doRouteMatch obiekt.

- Tryyyy zgadnij, gdzie ukryliśmy twoje paramy ... Och, tak, są wRouteMatch, oczywiście, że tam są, nie myślałeś coś jeszcze?

I żadnych informacji wforward sekcja wtyczki instrukcji!

Aby uzyskać params, muszę to zrobić w moimBooController::booAction:

$param = $this->getEvent()->getRouteMatch()->getParam('nameOfParam');

questionAnswers(5)

yourAnswerToTheQuestion