laravel 5 : Class 'input' not found

In my routes.php file I have :

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


});

I have a form for users registration. I am also taking the form inputs value in the routes.php.

But the error comes up when I register a user . Error:

FatalErrorException in routes.php line 61:
Class 'input' not found
213474 次浏览

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

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

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

use Illuminate\Support\Facades\Input;

In first your problem is about the spelling of the input class, should be Input instead of input. And you have to import the class with the good namespace.

use Illuminate\Support\Facades\Input;

如果你希望它被称为“ Input”而不是“ Input”,请添加以下内容:

use Illuminate\Support\Facades\Input as input;

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

The route.php file handles routing. 它的目的是使控制器之间的联系和要求的路由。

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

如果你需要一些更多的信息,解决问题,你可以加入社区: https://laracasts.com/

问候。

您可以在 folder\config\app.php中添加一个 facade

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

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

使用

Request::

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

use Illuminate\Http\Request;

对于幼虫 < 5.2:

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

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

对于幼虫 >= 5.2

Change Input:: to Request::

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

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

Add this in config/app.php under aliases:-

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

类的错误呼叫它应该是 Input而不是 input

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

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

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

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

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

use Illuminate\Support\Facades\Input;

或者

use Illuminate\Support\Facades\Input as input;

It's changed in laravel 6. 点击这里查看更多信息

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

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

and

在顶部声明 Input、 Validator、 Hash 等,删除 输入并添加 请求

使用诸如:

配置,数据库,文件,散列,输入,重定向,会话,视图,验证器,Request;

   #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

在幼虫中 = > 6版本:

Input no longer exists In larvel 6,7,8 Version. Use Request instead of Input.

Based on the Laravel 医生, since version 6.x Input has been removed.

输入外观

影响的可能性: 中等

Input立面,主要是 Request的复制品 如果使用的是 Input::get方法,则 现在应该调用 Request::input方法 输入 facade 可以简单地更新为使用 Request facade。

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