2017-08-09 7 views
0

Laravelでログインしたユーザーアクティビティをパッケージを使用せずに追跡する方法はありますか?私はantonioribeiro/trackerパッケージを使用しようとしましたが、明確なread me manualはありません。私はユーザーが訪問したページのような詳細を知りたい。 PS:小規模なプロジェクトでは、通常、必要なコントローラメソッドに配置する単純なlogPageHit()関数を作成しますが、今は大きなプロジェクトを処理していますLaravelトラッキングユーザーのアクティビティ

+0

あなたが書くか、Googleなどのオンライン追跡システムを使用しようとすると多くの方法があります... –

答えて

1

イベントでログパッケージを使用できますこのlink

OR Laravel雄弁それは

があなたのためにこの作品を願っていますmanageための多くのイベントがあります!

+0

ありがとう@AddWebソリューションPvt株式会社しかし、私はどのパッケージを使用しないようにしています。 – brightniyonzima

0

追跡ユーザーが

現在オンラインされている場合は、ハンドルメソッド内ミドルウェア

php artisan make:middleware LastUserActivity 

を作成することができ、我々は次のコードを追加する必要があります。

if(Auth::check()) { 
    $expiresAt = Carbon::now()->addMinutes(5); 
    Cache::put('user-is-online-' . Auth::user()->id, true, $expiresAt); 
} 

ゴーApp \ Http \ Kernel.phpへ

ウェブセクションに$ middlewareGroupsの中に上記のコードを追加します。

\App\Http\Middleware\LastUserActivity::class, 

注:それはそれはのstartSessionミドルウェアの後に追加されますことが重要であり、そうでない場合は、認証のファサードは、ログインしているユーザーにはアクセスできません。

App \ User.phpに移動し、このメソッドを追加します。

public function isOnline() 
{ 
    return Cache::has('user-is-online-' . $this->id); 
} 

これはあなたのビューのいずれかでこれを使用してください。

@if($user->isOnline()) 
    user is online!! 
@endif 

希望します。詳細はthisチュートリアルをご覧ください。

+0

ありがとう@Nikolas。しかし、これは正確に探しているものではありません。私は多分広すぎて、私の質問をより明確に編集したかもしれないことに気づいた。 – brightniyonzima

関連する問題