Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
4 / 4
WebsiteVisitorCount
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
4 / 4
 handle
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
4 / 4
<?php
namespace App\Http\Middleware;
use App\WebsiteVisitor;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
class WebsiteVisitorCount
{
    /**
     * Handle an incoming request.
     *
     * @param  Request  $request
     * @param Closure $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if(!Session::has('visited') ||  date('Y-m-d') != (string)Session::get('visited')){
            // Store The visitor Ip in Visits data
            WebsiteVisitor::create(['ip' => request()->getClientIp()]);
            Session::put(['visited' => date('Y-m-d')]);
        }
        return $next($request);
    }
}