2017-01-09 155 views
1

我嘗試重寫我的laravel應用postLogin功能,但給我一個"Class App\Http\Controllers\Auth\Request does not exist"。基本上,在我把功能postLogin它從來沒有給我這個錯誤,登錄工作正常,但現在我嘗試覆蓋postLogin功能,因爲我需要插入一些更多的邏輯,是給我的錯誤。 我laravel版本是5.2覆蓋postLogin功能

這裏是我的代碼:

namespace App\Http\Controllers\Auth; 

use App\User; 
use Validator; 
use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\ThrottlesLogins; 
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; 

class AuthController extends Controller 
{ 
    /* 
    |-------------------------------------------------------------------------- 
    | Registration & Login Controller 
    |-------------------------------------------------------------------------- 
    | 
    | This controller handles the registration of new users, as well as the 
    | authentication of existing users. By default, this controller uses 
    | a simple trait to add these behaviors. Why don't you explore it? 
    | 
    */ 

    use AuthenticatesAndRegistersUsers, ThrottlesLogins; 

    /** 
    * Where to redirect users after login/registration. 
    * 
    * @var string 
    */ 
    protected $redirectTo = '/admin/dashboard'; 
    protected $redirectAfterLogout = '/admin/'; 


    /** 
    * Create a new authentication controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware($this->guestMiddleware(), ['except' => 'getLogout']); 
    } 



    /** 
    * Overwrite postLogin function. 
    * 
    * @return void 
    */ 

    public function postLogin(Request $request) 
    { 
     dd($request->all()); 
    } 

    /** 
    * Get a validator for an incoming registration request. 
    * 
    * @param array $data 
    * @return \Illuminate\Contracts\Validation\Validator 
    */ 
    protected function validator(array $data) 
    { 
     return Validator::make($data, [ 
      'name' => 'required|max:255', 
      'email' => 'required|email|max:255|unique:users', 
      'passwords' => 'required|min:6|confirmed', 
     ]); 
    } 

    /** 
    * Create a new user instance after a valid registration. 
    * 
    * @param array $data 
    * @return User 
    */ 
    protected function create(array $data) 
    { 
     return User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'passwords' => bcrypt($data['passwords']), 
     ]); 
    } 






} 

回答

1

這是因爲postLogin()試圖注入Request類,但你忘了定義它的命名空間。

在類的頂部之後namespace條款加入這一行:

use Illuminate\Http\Request; 

這將解決這個問題。

0

講究use AuthenticatesAndRegistersUsers

你應該建立一個特徵代碼中的某個地方,並粘貼AuthenticatesAndRegistersUsers新特性的所有代碼;然後將你的邏輯添加到新的特質中。