Пробую использовать $this-> в контроллерах Laravel. Пока только примерно понимаю зачем они нужны. Типа вместо одной длинной логики в одном методе, можно разделить ее на мелкую, расплодить множество методов (а методы в классах и контроллерах) и затем подключать нужный метод через $this->. Конечно если я все правильно представляю (я новичок:)). Так вот. Делаю переадресацию в /home. В методе index определяю тип юзера и обращаюсь к методу client():
public function index()
{
$user = User::where('id', Auth::id())
->firstOrFail();
$type = $user->type;
if ($type == 10) {
return $this->client();
}
}
В методе client() переадресация
public function client()
{
return redirect('/clients');
}
И вопрос такой – почему в методе index мне нужно делать return $this->client(); и не работает просто $this->client();? Ведь в методе client() уже есть return с редиректом, но он почему то не работает без return в методе index. Зачем нужен двойной return? Странно, что return в методе client() не запускается при вызове метода. Я просто просматривал ларавелевские файлы и там они просто обращаются к нужному методу через this без всяких returnov