Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 04.10.2014 19:30:37

Правильный редирект

Подскажите пожалуйста, каким образом можно правильнее сделать.

Есть роуты:

Route::get('/{user}', ['uses' => 'IndexController@getUserID', 'as' => 'user_id']);
Route::controller('/', 'IndexController');

И есть контроллер:

    public function getIndex()
    {
        if (Request::path() != "" && !Auth::guest()) {
            return Redirect::to(Auth::id());
        } else {
            return View::make('index.main');
        }
    }

Я хочу сделать так, чтобы при заходе на первоначальную страницу автоматически загружалась другая. У меня она загружается, но с редиректом. На сколько я понимаю, можно как-то без редиректа обойтись? Благодарю за помощь!

Не в сети

#2 04.10.2014 20:36:50

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Правильный редирект

Если я не ошибаюсь, то у вас функция getUserID в этом же контролере? тогда

public function getIndex()
    {
        if (Request::path() != "" && !Auth::guest()) {
            return Response::make(self::getUserID(Auth::id()));
        } else {
            return View::make('index.main');
        }
    }

Изменено Artdevue (04.10.2014 20:37:13)


If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

#3 04.10.2014 21:45:17

Re: Правильный редирект

Artdevue пишет:

Если я не ошибаюсь, то у вас функция getUserID в этом же контролере? тогда

public function getIndex()
    {
        if (Request::path() != "" && !Auth::guest()) {
            return Response::make(self::getUserID(Auth::id()));
        } else {
            return View::make('index.main');
        }
    }

Функция в том же контроллере.
Этот код работает, но мне важно чтобы еще и сам урл генерировался, по этому-то я и использовал редирект...

Не в сети

#4 04.10.2014 22:17:04

vanchelo
Откуда: Украина, Киев
Сообщений: 32
Сайт

Re: Правильный редирект

Объясни что тебе надо, я нифига не понял!

Не в сети

#5 04.10.2014 22:42:53

Re: Правильный редирект

vanchelo пишет:

Объясни что тебе надо, я нифига не понял!

Чтобы при переходе на blah-blah.com генерировался переход на blah-blah.com/123 без редиректа.

Не в сети

#6 04.10.2014 22:47:12

vanchelo
Откуда: Украина, Киев
Сообщений: 32
Сайт

Re: Правильный редирект

так не получится

Не в сети

#7 04.10.2014 22:52:02

Re: Правильный редирект

Что значит "генерировался переход" ? Изменялся урл в браузере ? Такого не получится без редиректа.

Почему ты не хочешь использовать редирект в этих случаях? Это нормальная сложившаяся практика.

Не в сети

#8 04.10.2014 22:56:44

Re: Правильный редирект

slider23 пишет:

Что значит "генерировался переход" ? Изменялся урл в браузере ? Такого не получится без редиректа.

Почему ты не хочешь использовать редирект в этих случаях? Это нормальная сложившаяся практика.

Да, чтобы изменялся урл в браузере. Просто как-то не комфортно становится зная что есть редирект=) Но если это нормальная практика, то пускай так и будет.

Большое спасибо, что проконсультировали по этому вопросу!;)

Не в сети

#9 04.10.2014 22:58:51

vanchelo
Откуда: Украина, Киев
Сообщений: 32
Сайт

Re: Правильный редирект

жесть( я поседел

Не в сети

#10 04.10.2014 23:04:19

Re: Правильный редирект

vanchelo пишет:

жесть( я поседел

Нормальная практика=)

Не в сети

#11 04.10.2014 23:20:04

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Правильный редирект

RSalnikov пишет:
Artdevue пишет:

Если я не ошибаюсь, то у вас функция getUserID в этом же контролере? тогда

public function getIndex()
    {
        if (Request::path() != "" && !Auth::guest()) {
            return Response::make(self::getUserID(Auth::id()));
        } else {
            return View::make('index.main');
        }
    }

Функция в том же контроллере.
Этот код работает, но мне важно чтобы еще и сам урл генерировался, по этому-то я и использовал редирект...

В самом шаблоне условия поставьте

@if(!Auth::guest())
<script>
       window.history.pushState("object or string", "Title", "/{{ Auth::user->id }}");
</script>
@endif

If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

Подвал раздела