Перенаправление Laravel из частного метода

У меня есть контроллер, который имеет метод. Код слишком длинный в методе, поэтому я поместил некоторые из кодов в другие частные методы, так что методы становятся понятными и не создают беспорядка из него.

Теперь, когда я получаю доступ к общедоступному методу из URL-адреса, в зависимости от параметров, он вызывает конкретный частный метод для обработки задания. После обработки задания я хочу перенаправить URL-адрес, но перенаправление не работает.

Образец моего кода выглядит следующим образом:

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

Проблема в том, что вышеперечисленное перенаправление не работает. Почему это? В Codeigniter, когда вы использовали redirect он работает со спецификатором, из которого он вызван.

Если приведенный выше пример кода не подходит для этого, хотелось бы, чтобы кто-нибудь мог показать мне, как это сделать. Благодарю.

Вы должны вернуть возврат из $this->processJob() .

 class SomeClass extends BaseController{ public function getMethodName() { //check the params and choose a private method to call return $this->processJob(); } private function processJob() { //process the job and redirect at the end return Redirect::to('some/url'); } } 

Вы можете попытаться перенаправить на другую страницу из своей публичной функции в соответствии с результатом вашей частной функции (я думаю, что это лучшее решение, чтобы сделать ваш код более понятным для человека). Но он может работать так, как вы его написали …