laravel 5 : Class 'input' 未找到
laravel 5 : Class 'input' not found
在我的 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
它是 Input
而不是 input
。
This commit 从 config/app.php
中删除了 Input
门面定义,因此您必须手动将其添加到 aliases
数组中,如下所示,
'Input' => Illuminate\Support\Facades\Input::class,
或者您可以根据需要直接导入Input
门面,
use Illuminate\Support\Facades\Input;
首先你的问题是关于输入的拼写 class,应该是 Input 而不是 input。并且您必须导入具有良好命名空间的 class。
use Illuminate\Support\Facades\Input;
如果您希望将其命名为 'input' 而不是 'Input',请添加:
use Illuminate\Support\Facades\Input as input;
其次,通过route.php存储到数据库是一种肮脏的方式,
而且您没有处理数据验证。
如果发送的参数不是您所期望的,可能会出现 SQL 错误,这是由数据类型引起的。
您应该使用控制器与信息交互并通过控制器方法中的模型存储。
route.php 文件处理路由。
它旨在使控制器和请求的路线之间 link。
了解控制器、中间件、模型、服务...
http://laravel.com/docs/5.1/
如果您需要更多信息,关于问题的解决方案,您可以加入社区:https://laracasts.com/
此致。
您可以在 folder\config\app.php
中添加外观
'Input' => Illuminate\Support\Facades\Input::class,
在 Laravel 5.2 中 Input:: 替换为 Request::
使用
Request::
添加到控制器顶部或任何其他 Class
use Illuminate\Http\Request;
对于laravel <
5.2:
打开 config/app.php
并添加 Input
class 到 aliases
:
'aliases' => [
// ...
'Input' => Illuminate\Support\Facades\Input::class,
// ...
],
对于laravel>=
5.2
将Input::
更改为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。
在 config/app.php 别名下添加:-
'Input' => Illuminate\Support\Facades\Input::class,
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;
它已在 laravel 6 中更改。 See for more info here
不要在 app.php 和其他任何地方做任何事情,只需替换
input::get() 与 Request::input()
和
在声明 Input、Validator、Hash 等的顶部,删除 Input 并添加 Request
使用类似的东西:
配置、数据库、文件、哈希、输入、重定向、会话、视图、验证器、请求;
#config/app.php
'aliases' => [
...
'Input' => Illuminate\Support\Facades\Input::class,
...
],
#Use Controller file
use Illuminate\Support\Facades\Input;
==OR==
use Input;
在 larvel => 6 版本中:
输入不再存在于 larvel 6,7,8 版本中。使用 Request
而不是 Input
.
基于Laraveldocs,因为版本6.x输入已被删除。
输入门面
影响可能性:中等
The Input
facade, which was primarily a duplicate of the Request
facade, has been removed. If you are using the Input::get
method, you
should now call the Request::input
method. All other calls to the
Input facade may simply be updated to use the Request
facade.
use Illuminate\Support\Facades\Request;
..
..
..
public function functionName(Request $request)
{
$searchInput = $request->q;
}
在我的 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
它是 Input
而不是 input
。
This commit 从 config/app.php
中删除了 Input
门面定义,因此您必须手动将其添加到 aliases
数组中,如下所示,
'Input' => Illuminate\Support\Facades\Input::class,
或者您可以根据需要直接导入Input
门面,
use Illuminate\Support\Facades\Input;
首先你的问题是关于输入的拼写 class,应该是 Input 而不是 input。并且您必须导入具有良好命名空间的 class。
use Illuminate\Support\Facades\Input;
如果您希望将其命名为 'input' 而不是 'Input',请添加:
use Illuminate\Support\Facades\Input as input;
其次,通过route.php存储到数据库是一种肮脏的方式, 而且您没有处理数据验证。 如果发送的参数不是您所期望的,可能会出现 SQL 错误,这是由数据类型引起的。 您应该使用控制器与信息交互并通过控制器方法中的模型存储。
route.php 文件处理路由。 它旨在使控制器和请求的路线之间 link。
了解控制器、中间件、模型、服务... http://laravel.com/docs/5.1/
如果您需要更多信息,关于问题的解决方案,您可以加入社区:https://laracasts.com/
此致。
您可以在 folder\config\app.php
'Input' => Illuminate\Support\Facades\Input::class,
在 Laravel 5.2 中 Input:: 替换为 Request::
使用
Request::
添加到控制器顶部或任何其他 Class
use Illuminate\Http\Request;
对于laravel <
5.2:
打开 config/app.php
并添加 Input
class 到 aliases
:
'aliases' => [
// ...
'Input' => Illuminate\Support\Facades\Input::class,
// ...
],
对于laravel>=
5.2
将Input::
更改为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。
在 config/app.php 别名下添加:-
'Input' => Illuminate\Support\Facades\Input::class,
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;
它已在 laravel 6 中更改。 See for more info here
不要在 app.php 和其他任何地方做任何事情,只需替换
input::get() 与 Request::input()
和
在声明 Input、Validator、Hash 等的顶部,删除 Input 并添加 Request
使用类似的东西:
配置、数据库、文件、哈希、输入、重定向、会话、视图、验证器、请求;
#config/app.php
'aliases' => [
...
'Input' => Illuminate\Support\Facades\Input::class,
...
],
#Use Controller file
use Illuminate\Support\Facades\Input;
==OR==
use Input;
在 larvel => 6 版本中:
输入不再存在于 larvel 6,7,8 版本中。使用 Request
而不是 Input
.
基于Laraveldocs,因为版本6.x输入已被删除。
输入门面
影响可能性:中等
The
Input
facade, which was primarily a duplicate of theRequest
facade, has been removed. If you are using theInput::get
method, you should now call theRequest::input
method. All other calls to the Input facade may simply be updated to use theRequest
facade.
use Illuminate\Support\Facades\Request;
..
..
..
public function functionName(Request $request)
{
$searchInput = $request->q;
}