122

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

14 回答 14

282

It is Input and not input. This commit removed Input facade definition from config/app.php hence you have to manually add that in to aliases array as below,

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

Or You can import Input facade directly as required,

use Illuminate\Support\Facades\Input;
于 2015-07-29T09:41:31.723 回答
32

For laravel < 5.2:

Open config/app.php and add the Input class to aliases:

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

For laravel >= 5.2

Change Input:: to Request::

于 2016-05-15T21:44:54.343 回答
27

你可以在你的folder\config\app.php

'Input' => Illuminate\Support\Facades\Input::class,
于 2016-01-26T20:56:51.550 回答
26

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

利用

Request::

添加到控制器或任何其他类的顶部

use Illuminate\Http\Request;
于 2016-05-13T07:11:16.640 回答
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/

问候。

于 2015-07-29T09:48:13.497 回答
5

在 larvel => 6 版本中:

输入不再存在于 larvel 6,7,8 版本。使用Request而不是Input.

基于 Laravel文档,自 6.x 版本以来,输入已被删除。

输入立面

影响的可能性:中等

Input面,主要是Request 立面的复制品,已被移除。如果您正在使用该Input::get方法,您现在应该调用该Request::input方法。对 Input 外观的所有其他调用都可以简单地更新为使用Request外观。

use Illuminate\Support\Facades\Request;
..
..
..
 public function functionName(Request $request)
    {
        $searchInput = $request->q;
}
于 2020-09-16T16:17:51.650 回答
4

如果您使用 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');
   }
 }
于 2016-07-03T17:09:49.973 回答
4

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

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

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

use Illuminate\Support\Facades\Input;

或者

use Illuminate\Support\Facades\Input as input;
于 2018-04-23T06:21:45.837 回答
2

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

于 2017-05-19T06:37:36.280 回答
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();
});
于 2018-02-06T09:23:37.100 回答
0

Input不应该是错误的类input

于 2017-12-07T01:12:14.180 回答
0

它在 laravel 6 中发生了变化。有关更多信息,请参见此处

不要在 app.php 和其他任何地方做任何事情,只需替换

input::get() 和 Request::input()

在您声明 Input、Validator、Hash 等的顶部,删除Input并添加Request

使用类似的东西:

配置、数据库、文件、哈希、输入、重定向、会话、视图、验证器、请求

于 2020-07-21T08:20:51.510 回答
0
   #config/app.php
   'aliases' => [
        ...
        'Input' => Illuminate\Support\Facades\Input::class,
        ...
    ],

   #Use Controller file
   use Illuminate\Support\Facades\Input;
   ==OR==
   use Input;

阅读完整示例:https ://devnote.in/laravel-class-input-not-found

于 2020-08-31T07:36:10.293 回答
0

在别名下的 config/app.php 中添加:-

'Input' => Illuminate\Support\Facades\Input::class,
于 2017-12-06T09:53:06.337 回答