В моем файле 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'