首页 文章

laravel 5:找不到类'input'

提问于
浏览
89

在我的 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

11 回答

  • 230

    它是 Input 而不是 input . This commitconfig/app.php 删除了 Input 门面定义,因此您必须手动将其添加到 aliases 数组中,如下所示,

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

    或者您可以根据需要直接导入 Input 门面,

    use Illuminate\Support\Facades\Input;
    
  • 20

    您可以在 folder\config\app.php 中添加外观

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

    对于laravel < 5.2

    打开 config/app.php 并将 Input 类添加到 aliases

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

    对于laravel >= 5.2

    Input:: 更改为 Request::

  • 26

    在Laravel 5.2中,Input ::被替换为Request ::

    所以你需要输入一些东西而不是使用

    Input::
    

    使用

    Request::
    

    如果您收到有关“不应静态使用”的错误,请将其添加到文件顶部

    use Request;
    

    如果您已有此行:

    use Illuminate\Http\Request;
    

    删除它,因为在一个文件中不能有两个具有相同名称的类

  • 0

    首先你的问题是关于输入类的拼写,应该是输入而不是输入 . 并且您必须使用良好的命名空间导入该类 .

    use Illuminate\Support\Facades\Input;
    

    如果你想要它叫'输入'而不是'输入',添加这个:

    use Illuminate\Support\Facades\Input as input;
    

    其次,这是一种通过route.php存储到数据库中的脏方法,并且您不处理数据验证 . 如果发送的参数不是您所期望的,则可能会出现SQL错误,这是由数据类型引起的 . 您应该使用控制器与信息交互并通过模型在控制器方法中存储 .

    route.php文件处理路由 . 它旨在 Build 控制器和询问路线之间的链接 .

    要了解控制器,中间件,模型,服务... http://laravel.com/docs/5.1/

    如果您需要更多信息,有关问题的解决方案,您可以加入社区:https://laracasts.com/

    问候 .

  • 0

    如果您使用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');
       }
     }
    
  • 2

    在别名下的config / app.php中的声明: -

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

    或者您可以根据需要直接导入输入外观,

    use Illuminate\Support\Facades\Input;
    

    要么

    use Illuminate\Support\Facades\Input as input;
    
  • 5

    'Input' => Illuminate\Support\Facades\Input::class ,将其添加到App.php .

  • 3

    在config / app.php中将其添加到别名下: -

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

    这个干净的代码片段对我来说很好:

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

    });

  • 25

    Miscall of Class它应该是'输入'而不是'输入'

相关问题