Черта «Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers» не найдена в Laravel 5.3

Как решить эту проблему? Я уже пытался использовать все решения из сети, а также пытался использовать Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers, но ни один из них не работает? Если кто-нибудь знает, как это решить, пожалуйста, помогите мне. Я хочу избавиться от этой ошибки. заранее спасибо

<?php

namespace App\Http\Controllers\Auth;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
use Illuminate\Support\Facades\Validator;   
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Redirect;

use Illuminate\Routing\Controller as BaseController;
use Theme;
use Auth;
use App\Login;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use App\Http\Controllers\Auth\RegisterController;
class LoginController extends BaseController
{

/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/

use AuthenticatesAndRegistersUsers, ThrottlesLogins;

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


/**
 * Create a new controller instance.
 *
 * @return void
 */

public function __construct()
{
    $this->middleware('guest', ['except' => 'logout']);
}


public function signin(){

    if(Auth::check()){

        return Redirect::to('/');

    }else{
        $theme = Theme::uses('default')->layout('default');
        return $theme->of('login.sign-in')->render();
    }

}



public function login(){


    $data = array(
        'email' => Input::get('email'),
        'password' => Input::get('password')
    );

   $validator= RegisterController::validator($data);

    if($validator){
        return Redirect::to('/login')->withErrors([$validator->errors()->all() ]);
    }else{
        return Redirect::to('/');
    }
}




      //  RegisterController::create($data);

       // Login::Insert($data);
      //  $checkuser = Login::Login($data);





function logout(){
    Auth::logout();
    return Redirect::to('login');
 }

 }

person Poldo    schedule 23.09.2016    source источник


Ответы (1)


Я думаю, что пакет Laravel 5.3 не имеет этой черты. Пожалуйста, проверьте здесь.

ИЗМЕНИТЬ:

Вам нужно внести несколько изменений в то, как проверяются и создаются новые пользователи, потому что AuthenticatesAndRegistersUsers больше не существует в laravel 5.3.

Итак, вам нужно внести изменения:

1 Нет необходимости передавать экземпляры Guard и Registrar в базовый конструктор. Полностью удалите эти зависимости из конструктора вашего контроллера.

2 Нет необходимости использовать класс App\Services\Registrar, который используется в Laravel 5.0, просто скопируйте и вставьте свой валидатор и создайте метод из этого класса прямо в ваш AuthController.

Убедитесь, что импортируете фасад Validator и вашу модель User вверху вашего AuthController.

person AddWeb Solution Pvt Ltd    schedule 23.09.2016
comment
Да я думаю причина в этом - person Poldo; 26.09.2016
comment
@Paul: Хм, см. EDIT для помощи в решении. - person AddWeb Solution Pvt Ltd; 26.09.2016