Mam kontroler, który ma metodę. Kod jest zbyt długi w metodzie, więc umieściłem niektóre kody w innych prywatnych metodach, aby metody stały się zrozumiałe i nie robią z tego bałaganu.Przekierowanie Laravel z prywatnej metody
Teraz, kiedy dostęp do metody publiczne z adresu URL, w zależności od parametrów, to wezwie specyficzną metodę prywatną przetwarzać zadania. Po przetworzeniu zadania chcę przekierować do adresu URL, ale przekierowanie nie działa.
Próbkę mojego kodu jest następujący:
class SomeClass extends BaseController{
public function getMethodName()
{
//check the params and choose a private method to call
$this->processJob();
}
private function processJob()
{
//process the job and redirect at the end
return Redirect::to('some/url');
}
}
Problem polega na tym, powyższe przekierowanie nie działa. Dlaczego? W Codeigniter, kiedy użyłeś redirect
, działa nomatter, z którego jest wywoływany.
Jeżeli powyższy przykładowy kod nie jest właściwym sposobem na to, by docenić, jeśli ktoś mógłby mi pokazać, jak to ma być zrobione. Dzięki.
powinien działać - cały czas używam tego typu kodu. Czy dostaję jakieś błędy? co się stanie, jeśli przeniesiesz przekierowanie na początek procesu processJob()? – Laurence
To nie działa. Usunąłem wszystkie inne kody w processJob(), ale utrzymywanie tej linii przekierowań nadal nie działa. Przy okazji, używam L4. – WebNovice
Czy na pewno wywoływane jest processJob? spróbuj dd ("cześć") w processJob - czy widzisz "cześć" ?? – Laurence