laravel 5:找不到类'输入'

Gam*_*mer 103 php laravel laravel-5 laravel-5.1 laravel-5.2

在我的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();

});
Run Code Online (Sandbox Code Playgroud)

我有一个用户注册表.我也在表格中输入表格输入值routes.php.

但是当我注册用户时出现错误.错误:

FatalErrorException in routes.php line 61:
Class 'input' not found
Run Code Online (Sandbox Code Playgroud)

pin*_*sia 263

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

'Input' => Illuminate\Support\Facades\Input::class,
Run Code Online (Sandbox Code Playgroud)

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

use Illuminate\Support\Facades\Input;
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用\ Input来全局访问它 (2认同)

Ped*_*ito 27

对于laravel < 5.2:

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

'aliases' => [
// ...
  'Input' => Illuminate\Support\Facades\Input::class,
// ...
],
Run Code Online (Sandbox Code Playgroud)

对于laravel >= 5.2

更改Input::Request::


Nva*_*van 26

你可以添加一个外观 folder\config\app.php

'Input' => Illuminate\Support\Facades\Input::class,
Run Code Online (Sandbox Code Playgroud)


lew*_*s4u 21

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

使用

Request::
Run Code Online (Sandbox Code Playgroud)

添加到Controller或任何其他类的顶部

use Illuminate\Http\Request;
Run Code Online (Sandbox Code Playgroud)


Dis*_*ure 5

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

use Illuminate\Support\Facades\Input;
Run Code Online (Sandbox Code Playgroud)

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

use Illuminate\Support\Facades\Input as input;
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

问候.


Fer*_*ÇER 5

如果您使用 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');
   }
 }
Run Code Online (Sandbox Code Playgroud)


Har*_*ron 5

在larvel => 6版本中:

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

根据 Laravel文档,自 6.x 版本起,输入已被删除。

输入外观

影响的可能性:中

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

use Illuminate\Support\Facades\Request;
..
..
..
 public function functionName(Request $request)
    {
        $searchInput = $request->q;
}
Run Code Online (Sandbox Code Playgroud)