laravel 5: вход класса не найден

В моем файле routes.php меня есть:

 Route::get('/', function () { return view('login'); }); Route::get('/index', function(){ return view('index'); }); Route::get('/register', function(){ return view('register'); }); Route::post('/register',function(){ $user = new \App\User; $user->username = input::get('username'); $user->email = input::get('email'); $user->password = Hash::make(input::get('username')); $user->designation = input::get('designation'); $user->save(); }); 

У меня есть форма для регистрации пользователей. Я также принимаю значение входных данных формы в routes.php .

Но ошибка возникает, когда я регистрирую пользователя. Ошибка:

 FatalErrorException in routes.php line 61: Class 'input' not found 

Это Input а не input . Эта фиксация удалила определение Input фасада из config/app.php поэтому вам нужно вручную добавить это в массив aliases как config/app.php ниже,

 'Input' => Illuminate\Support\Facades\Input::class, 

Или вы можете импортировать Input фасад непосредственно по мере необходимости,

 use Illuminate\Support\Facades\Input; 

Вы можете добавить фасад в folder\config\app.php

 'Input' => Illuminate\Support\Facades\Input::class, 

Для laravel < 5.2 :

Откройте config/app.php и добавьте класс Input в aliases :

 'aliases' => [ // ... 'Input' => Illuminate\Support\Facades\Input::class, // ... ], 

Для laravel >= 5.2

Изменить Input:: для Request::

В Laravel 5.2 Input :: заменяется Request ::

Поэтому, когда вам нужно вводить что-то вместо использования

 Input:: 

использование

 Request:: 

И если вы получите ошибку, то о «не следует использовать статически» просто добавьте это в начало файла

 use Request; 

Если у вас уже есть эта строка:

 use Illuminate\Http\Request; 

удалите его, потому что у вас не может быть двух классов с одинаковым именем в одном файле

В первую очередь ваша проблема заключается в написании входного класса, а вместо ввода – вход. И вам нужно импортировать класс с хорошим пространством имен.

 use Illuminate\Support\Facades\Input; 

Если вы хотите, чтобы он назывался «input», а не «Input», добавьте следующее:

 use Illuminate\Support\Facades\Input as input; 

Во-вторых, это грязный способ хранить в базе данных через route.php, и вы не обрабатываете проверку данных. Если присланный параметр не соответствует ожидаемому, может возникнуть ошибка SQL, вызванная типом данных. Вы должны использовать контроллер для взаимодействия с информацией и хранения через модель в методе контроллера.

Файл route.php обрабатывает маршрутизацию. Он предназначен для установления связи между контроллером и запрошенным маршрутом.

Чтобы узнать о контроллере, промежуточном программном обеспечении, модели, сервисе … http://laravel.com/docs/5.1/

Если вам нужна дополнительная информация, решение проблемы вы можете присоединиться к сообществу: https://laracasts.com/

С уважением.

если вы используете версию Laravel 5.2. Просмотрите это: https://laravel.com/docs/5.2/requests#accessing-the-request

 use Illuminate\Http\Request;//Access able for All requests ... class myController extends Controller{ public function myfunction(Request $request){ $name = $request->input('username'); } } 

'Input' => Illuminate\Support\Facades\Input::class , добавьте его в App.php.

Добавьте это в config / app.php под псевдонимами: –

 'Input' => Illuminate\Support\Facades\Input::class, 

В отличие от функции, она должна быть «Input» not 'input'