laravel 5: класс 'input' не найден
в своем 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 AppUser;
$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
11 ответов:
это
Input, а неinput. этот коммит удаленыInputопределение фасада отconfig/app.phpследовательно, вы должны вручную добавить, что вaliasesмассив, как показано ниже'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;Если вы хотите, чтобы он назывался "вход", а не "Вход", добавьте это :
use Illuminate\Support\Facades\Input as input;во-вторых, это грязный способ хранения в базе данных через маршрут.РНР, и вы не обрабатываете проверку данных. Если отправленный параметр не соответствует вашим ожиданиям, возможно, появится ошибка SQL, вызванная типом данных. Вы следует использовать контроллер для взаимодействия с информацией и хранения через модель в методе контроллера.
маршрут.файл 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'); } }
объявление в config / app.PHP под псевдонимами:-
'Input' => Illuminate\Support\Facades\Input::class,или вы можете импортировать входной фасад непосредственно по мере необходимости,
use Illuminate\Support\Facades\Input;или
use Illuminate\Support\Facades\Input as input;
добавьте это в config / app.PHP под псевдонимами:-
'Input' => Illuminate\Support\Facades\Input::class,
этот код прекрасно работает для меня:
use Illuminate\Http\Request; Route::post('/register',function(Request $request){ $user = new \App\User; $user->username = $request->input('username'); $user->email = $request->input('email'); $user->password = Hash::make($request->input('username')); $user->designation = $request->input('designation'); $user->save();});
Comments