laravel 5:未find类“input”
在我的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(); });
我有一个用户registry单。 我也采取了routes.php
的表单input值。
但是,当我注册用户时出现错误。 错误:
FatalErrorException in routes.php line 61: Class 'input' not found
它是Input
而不是input
。 这个提交从config/app.php
删除了Input
外观定义,因此你必须手动添加到下面的aliases
数组中,
'Input' => Illuminate\Support\Facades\Input::class,
或者,您可以根据需要直接导入Input
外观,
use Illuminate\Support\Facades\Input;
您可以在您的folder\config\app.php
添加一个外观
'Input' => Illuminate\Support\Facades\Input::class,
对于laravel <
5.2 :
打开config/app.php
并将Input
类添加到aliases
:
'aliases' => [ // ... 'Input' => Illuminate\Support\Facades\Input::class, // ... ],
对于laravel >=
5.2
将Input::
更改为Request::
在Laravel 5.2 Input ::被replace为Request ::
所以,你需要input的东西而不是使用
Input::
使用
Request::
如果您遇到错误,请将其添加到文件的顶部
use Request;
如果你已经有这条线:
use Illuminate\Http\Request;
将其删除是因为在一个文件中不能有两个同名的类
首先你的问题是关于input类的拼写,应该是input而不是input。 而且你必须用良好的命名空间导入类。
use Illuminate\Support\Facades\Input;
如果你想把它称为“input”而不是“input”,添加这个:
use Illuminate\Support\Facades\Input as input;
其次,通过route.php存储到数据库是一种肮脏的方式,而且你没有处理数据validation。 如果发送的参数不是您所期望的,那么可能会出现一个SQL错误,其由数据types引起。 您应该使用控制器与信息进行交互,并通过控制器方法中的模型进行存储。
route.php文件处理路由。 它被devise成使得控制器和所要求的路线之间的链接。
了解控制器,中间件,模型,服务… http://laravel.com/docs/5.1/
如果您需要更多的信息,可以join社区的问题解决scheme: https : //laracasts.com/
问候。
如果您使用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。