Вход Регистрация
Файл: gapps/vendor/laravel/framework/src/Illuminate/Auth/RequestGuard.php
Строк: 56
<?php

namespace IlluminateAuth;

use 
IlluminateHttpRequest;
use 
IlluminateContractsAuthGuard;

class 
RequestGuard implements Guard
{
    use 
GuardHelpers;

    
/**
     * The guard callback.
     *
     * @var callable
     */
    
protected $callback;

    
/**
     * The request instance.
     *
     * @var IlluminateHttpRequest
     */
    
protected $request;

    
/**
     * Create a new authentication guard.
     *
     * @param  callable  $callback
     * @param  IlluminateHttpRequest  $request
     * @return void
     */
    
public function __construct(callable $callbackRequest $request)
    {
        
$this->request $request;
        
$this->callback $callback;
    }

    
/**
     * Get the currently authenticated user.
     *
     * @return IlluminateContractsAuthAuthenticatable|null
     */
    
public function user()
    {
        
// If we've already retrieved the user for the current request we can just
        // return it back immediately. We do not want to fetch the user data on
        // every call to this method because that would be tremendously slow.
        
if (! is_null($this->user)) {
            return 
$this->user;
        }

        return 
$this->user call_user_func($this->callback$this->request);
    }

    
/**
     * Validate a user's credentials.
     *
     * @param  array  $credentials
     * @return bool
     */
    
public function validate(array $credentials = [])
    {
        return ! 
is_null((new static(
            
$this->callback$credentials['request']
        ))->
user());
    }

    
/**
     * Set the current request instance.
     *
     * @param  IlluminateHttpRequest  $request
     * @return $this
     */
    
public function setRequest(Request $request)
    {
        
$this->request $request;

        return 
$this;
    }
}
Онлайн: 2
Реклама