Jak nastavit redirect z komponenty do presenteru
- Allconius
- Člen | 317
Ahoj,
našel jsem si příklad jak nastavit přesměrování z komponenty zde
a vytvořil v komponentě:
PhonebookControl.php
/** @var callable[] */
public $onSuccess = [];
public function seznamFormSucceeded(Form $form, $values)
{
$values = $form->getValues();
$this->search = $this->dbManager->vyhledejKontakt($values->prijmeni);
$this->onSuccess();
}
v továrně mám:
PhonebookControlFactory.php
interface PhonebookControlFactory
{
public function create(): PhonebookControl;
}
a v presenteru:
protected function createComponentPhonebook(): PhonebookControl
{
return $this->phonebookControlFactory->onSuccess[] = function () {
$this->redirect('Seznam:');
};
}
ale vypíše mi to deprecated na tom return v presenteru:
Creation of dynamic property App\Components\Contacts\PhonebookControlFactory@anonymous::$onSuccess is deprecated
Co tam mám špatně ?
- Marek Znojil
- Člen | 90
Ahoj,
protože to definuješ do toho rozhraní. Tvoje metoda v prezenteru by měla
vypadat takto:
protected function createComponentPhonebook(): PhonebookControl
{
$control = $this->phonebookControlFactory->create();
$control->onSuccess[] = function (): void{
$this->redirect('Seznam:');
};
return $control;
}