سلام؛ اگه بازدید صرفا برای نشون دادن لحظه ای باشه و بعدا ازش امار نخواین بگیرین، من این کارو یه بار کردم و نمیدونم اصولی بود یا نه، ولی کار میداد، اگه دوستان بگن اصولی هست یا خوشحال میشم
یه میدلویر نوشتم و با کش هر یوزری میومد ای پی شو میریختم توی ارایه و کش میکردم واسه یه دیقه، هر بار که صفحه رفرش میکرد اگه توی ارایه بود که بود نبود اضافه میشد و امار لحظه ای درمیومد
به این شکل این فانکشن رو کال میکردم توی میدلویر
private function checkActivity( $request ) {
$expiresAtMin = Carbon::now()->addMinute();
$guest_online = Cache::get( 'guest-online' , [] );
if ( ! in_array( $request->ip() , $guest_online ) ) {
array_push( $guest_online , $request->ip() );
Cache::put( 'guest-online' , $guest_online , $expiresAtMin );
}
$expiresAtDay = Carbon::now()->addDay();
$guest_stat = Cache::get( 'guest-stat' , [] );
if ( ! in_array( $request->ip() , $guest_stat ) ) {
array_push( $guest_stat , $request->ip() );
Cache::put( 'guest-stat' , $guest_stat , $expiresAtDay );
Stat::createOrUpdate( [
'unique_id' => auth()->check() ? auth()->id() : $request->ip() ,
'type' => auth()->check() ? Auth::getDefaultDriver() : 'user' ,
] );
}
}
البته امار روزانه رو ذخیره میکنه که چند نفر در روز بازدید کردن
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟