Question

[Solved] 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 AppUser;
    $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
Enquirer: Gammer

||

Solution #1:

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' => IlluminateSupportFacadesInput::class,

Or You can import Input facade directly as required,

use IlluminateSupportFacadesInput;
Respondent: pinkal vansia

Solution #2:

For laravel < 5.2:

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

'aliases' => [
// ...
  'Input' => IlluminateSupportFacadesInput::class,
// ...
],

For laravel >= 5.2

Change Input:: to Request::

Respondent: Pedro Lobito

Solution #3:

You can add a facade in your folderconfigapp.php

'Input' => IlluminateSupportFacadesInput::class,
Respondent: Nvan

Solution #4:

In Laravel 5.2 Input:: is replaced with Request::

use

Request::

Add to the top of Controller or any other Class

use IlluminateHttpRequest;
Respondent: lewis4u

Solution #5:

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 IlluminateSupportFacadesInput;

If you want it called ‘input’ not ‘Input’, add this :

use IlluminateSupportFacadesInput as input;

Second, It’s a dirty way to store into the database via route.php,
and you’re not processing data validation.
If a sent parameter isn’t what you expected, maybe an SQL error will appear, its caused by the data type.
You should use controller to interact with information and store via the model in the controller method.

The route.php file handles routing.
It is designed to make the link between the controller and the asked route.

To learn about controller, middleware, model, service …
http://laravel.com/docs/5.1/

If you need some more information, solution about problem you can join the community : https://laracasts.com/

Regards.

Respondent: Disfigure

Solution #6:

if You use Laravel version 5.2 Review this: https://laravel.com/docs/5.2/requests#accessing-the-request

use IlluminateHttpRequest;//Access able for All requests
...

class myController extends Controller{
   public function myfunction(Request $request){
     $name = $request->input('username');
   }
 }
Respondent: Ferhat KOÇER

Solution #7:

Declaration in config/app.php under aliases:-

'Input' => IlluminateSupportFacadesInput::class,

Or You can import Input facade directly as required,

use IlluminateSupportFacadesInput;

or

use IlluminateSupportFacadesInput as input;
Respondent: Chandrakant Ganji

Solution #8:

In larvel => 6 Version:

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

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

The Input Facade

Likelihood Of Impact: Medium

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 IlluminateSupportFacadesRequest;
..
..
..
 public function functionName(Request $request)
    {
        $searchInput = $request->q;
}
Respondent: Haron

Solution #9:

'Input' => IlluminateSupportFacadesInput::class, add it to App.php.

Respondent: prakash pokhrel

Solution #10:

This clean code snippet works fine for me:

use IlluminateHttpRequest;
Route::post('/register',function(Request $request){

   $user = new AppUser;
   $user->username = $request->input('username');
   $user->email  = $request->input('email');
   $user->password = Hash::make($request->input('username'));
   $user->designation = $request->input('designation');
   $user->save();
});
Respondent: Pradeep Sapkota

Solution #11:

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

'Input' => IlluminateSupportFacadesInput::class,
Respondent: Deepak Kumar

Solution #12:

Miscall of Class it should be Input not input

Respondent: Kenneth Sunday

Solution #13:

It’s changed in laravel 6. See for more info here

Don’t do anything in app.php and anywhere else, just replace

input::get() with Request::input()

and

on top where you declare Input,Validator,Hash etc., remove Input and add Request

use something like :

Config,DB,File,Hash,Input,Redirect,Session,View,Validator,Request;

Solution #14:

   #config/app.php
   'aliases' => [
        ...
        'Input' => IlluminateSupportFacadesInput::class,
        ...
    ],

   #Use Controller file
   use IlluminateSupportFacadesInput;
   ==OR==
   use Input;

Read full example: https://devnote.in/laravel-class-input-not-found

Respondent: Fefar Ravi

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Most Popular

To Top
India and Pakistan’s steroid-soaked rhetoric over Kashmir will come back to haunt them both clenbuterol australia bossier man pleads guilty for leadership role in anabolic steriod distribution conspiracy