Skip to content
Advertisement

Which to use Auth::check() or Auth::user() – Laravel 5.1?

If I want to check whether the user is logged in within my Laravel 5.1 application I can either use

if (Auth::user()) {...}

or

if (Auth::check()) {...}

is there a reason to prefer one over the other when checking if a user is logged in?

Advertisement

Answer

Auth::check() defers to Auth::user(). It’s been that way since as long as I can remember.

In other words, Auth::check() calls Auth::user(), gets the result from it, and then checks to see if the user exists. The main difference is that it checks if the user is null for you so that you get a boolean value.

This is the check function:

public function check()
{
    return ! is_null($this->user());
}

As you can see, it calls the user() method, checks if it’s null, and then returns a boolean value.

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement