Задать вопрос
@sawa4

Как определить пользователя на какой странице он Laravel 5.2?

Hello guys!
Как laravel определяет на кокой странице сейчас юзер. И как организовать статистику посещений страниц в Laravel?
Например я на главной, в статистике (где не будь в БД), заносим что я на главной. Если я посетил страницу Новости, то заносим посещенную страницу. И как это вообще работает, если говорить о РНР вообще, не используя фреймворки.
Когда то делал на yii2 так:
В каждом экшене каждого контроллера писал что то на подобии:
Yii::$app->db->createCommand()->update('user', ['location' => 'Page Name', 'last_visited' => time()], ['id' => \Yii::$app->user->identity->id])->execute();
Ну это дублирование кода - И ЭТО НЕ ПРАВИЛЬНОЕ РЕШЕНИЕ (прошу не хаить это было давно и не правда)).
  • Вопрос задан
  • 1738 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@sawa4 Автор вопроса
Благодарю всех за внимание!
Все оказывается очень просто, написал так:
<?php
namespace App\Http\Middleware;
use App\Models\User;
use Closure;
use Illuminate\Support\Facades\Auth;

class Authenticate
{
    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->guest()) {
            if ($request->ajax() || $request->wantsJson()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('login');
            }
        } else{
            $user = User::find(Auth::user()->id);
            $user->last_page = $request->fullUrl();
            $user->last_time = time();
            $user->save();
        }
        return $next($request);
    }
}

В MiddleWare вызываю метод $request->fullUrl();
Не знаю насколько это правильно, но поставленную задачу я решил
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@karminski
Senior React.JS Developer
Ну для Yii2 есть штука, называемая behaviors(). Это раз. Есть еще beforeAction() - это два. В любом из этих случаев внутри метода прописываете ваше логирование посещений. Для Laravel, думаю, есть что-то похожее.
Ответ написан
Комментировать
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
middleware в помощь
Ответ написан
Комментировать
mcmraak
@mcmraak
php+sql+js+bicycle+crutches
Для определения на какой странице нужно вот тут читать: https://laravel.com/docs/5.2/routing
В двух словах параметры роутов можно обрабатывать с помощью middleware, так-же есть именованные роуты и т.д. в общем куча вариантов и механизмов для этой задачи.
Ответ написан
Комментировать
@assets
Back-end developer
Напиши middleware c функции

stackoverflow.com/questions/30046691/how-to-get-cu...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы