laravel 5 : '입력'클래스를 찾을 수 없습니다.


114

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

답변:


275

그것은이다 Input하지 input. 이 커밋Input파사드 정의를 제거 config/app.php했으므로 aliases아래와 같이 배열 에 수동으로 추가해야 합니다.

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

또는 Input필요에 따라 직접 파사드 를 가져올 수 있습니다 .

use Illuminate\Support\Facades\Input;

laravel 5.2의 양식에 laravelcollective를 사용하고 Shafee처럼 경로가 아닌 뷰에서 {{Form}}을 사용하면 어떻게됩니까? {{ Form::text('name', Input::old('name'), array('class' => 'form-control')) }}
nclsvh

2
\ Input을 사용하여 전 세계적으로 액세스 할 수 있습니다
pinkal vansia

이것을 어떻게 또는 어디에 두어야합니까? 입력을 \ Input (양식 태그 내부)으로 변경해도 작동하지 않습니다 .. 또한 illuminate \ support \ facades를 사용하지 않습니다.하지만"laravelcollective/html": "5.2.*"
nclsvh dec.

죄송합니다. 이전 의견에주의를 기울이지 않았지만 HTML에서는 Input :: old ()에 대한 래퍼
뿐인

@NicolasV 당신은 아래를 넣을 수 있습니다 aliases내부 config/app.php로, Nvan의 대답은 지적했다 .
Nik Sumeiko

28

laravel < 5.2의 경우 :

클래스를 열고 다음 config/app.php에 추가하십시오 .Inputaliases

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

laravel >= 5.2의 경우

변경 Input::Request::


26

파사드를 추가 할 수 있습니다. folder\config\app.php

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

23

Laravel 5.2에서 Input ::은 Request ::로 대체됩니다.

사용하다

Request::

컨트롤러 또는 다른 클래스의 맨 위에 추가

use Illuminate\Http\Request;

5

처음에 문제는 입력 클래스의 철자에 관한 것이며 입력 대신 입력이어야합니다. 그리고 좋은 네임 스페이스로 클래스를 가져와야합니다.

use Illuminate\Support\Facades\Input;

'입력'이 아닌 '입력'이라고 부르려면 다음을 추가하십시오.

use Illuminate\Support\Facades\Input as input;

둘째, route.php를 통해 데이터베이스에 저장하는 더러운 방법이며 데이터 유효성 검사를 처리하지 않습니다. 전송 된 매개 변수가 예상과 다른 경우 데이터 유형으로 인해 SQL 오류가 표시 될 수 있습니다. 컨트롤러를 사용하여 정보와 상호 작용하고 컨트롤러 메서드에서 모델을 통해 저장해야합니다.

route.php 파일은 라우팅을 처리합니다. 컨트롤러와 요청 된 경로를 연결하도록 설계되었습니다.

컨트롤러, 미들웨어, 모델, 서비스에 대해 알아 보려면 ... http://laravel.com/docs/5.1/

더 많은 정보가 필요하면 문제에 대한 해결책을 커뮤니티에 가입 할 수 있습니다 : https://laracasts.com/

문안 인사.



4

별칭 아래의 config / app.php 선언 :-

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

또는 필요에 따라 입력 파사드를 직접 가져올 수 있습니다.

use Illuminate\Support\Facades\Input;

또는

use Illuminate\Support\Facades\Input as input;


1

이 깨끗한 코드 조각은 나에게 잘 작동합니다.

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();
});

0

config / app.php에서 aliases 아래에 추가하십시오.

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


0

laravel 6에서 변경되었습니다. 자세한 내용은 여기를 참조하세요.

app.php 및 다른 곳에서 아무것도하지 말고

input :: get () with Request :: input ()

상단에 당신은 해시 등을 입력, 검사기, 제거 선언 위치를 입력 하고 추가 요청

다음과 같이 사용하십시오.

Config, DB, File, Hash, Input , Redirect, Session, View, Validator, Request ;

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.