Domanda laravel 5: Classe 'input' non trovata


Nel mio routes.php file che ho:

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

});

Ho un modulo per la registrazione degli utenti. Sto anche prendendo il valore degli input del modulo in routes.php.

Ma l'errore si verifica quando registro un utente. Errore:

FatalErrorException in routes.php line 61:
Class 'input' not found

78
2017-07-29 09:39


origine


risposte:


È Input e non input. Questo commette rimosso Input definizione di facciata da config/app.php quindi devi aggiungerlo manualmente a aliases array come sotto,

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

Oppure puoi importare Input facciata direttamente come richiesto,

use Illuminate\Support\Facades\Input;

200
2017-07-29 09:41



Puoi aggiungere una facciata nel tuo folder\config\app.php

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

25
2018-01-26 20:56



Per laravel <  5.2:

Aperto config/app.php e aggiungi il Input classe a aliases:

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

Per laravel >=  5.2

Modificare Input:: a Request::


22
2018-05-15 21:44



In Laravel 5.2 Input :: viene sostituito con Request ::

Quindi, dove mai hai bisogno di inserire qualcosa invece di usare

Input:: 

uso

Request::

E se si verifica un errore su 'non usare in modo statico', basta aggiungerlo nella parte superiore del file

use Request;

Se hai già questa linea:

use Illuminate\Http\Request;

eliminalo perché non puoi avere due classi con lo stesso nome in un unico file


16
2018-05-13 07:11



In primo luogo il tuo problema riguarda l'ortografia della classe di input, dovrebbe essere Input anziché input. E devi importare la classe con il buon namespace.

use Illuminate\Support\Facades\Input;

Se vuoi chiamarlo 'input' e non 'Input', aggiungi questo:

use Illuminate\Support\Facades\Input as input;

Secondo, è un modo sporco di archiviare nel database tramite route.php, e non stai elaborando la convalida dei dati. Se un parametro inviato non è quello che ci si aspettava, potrebbe apparire un errore SQL, causato dal tipo di dati. È necessario utilizzare il controller per interagire con le informazioni e archiviare tramite il modello nel metodo del controller.

Il file route.php gestisce il routing. È progettato per creare il collegamento tra il controller e il percorso richiesto.

Per informazioni su controller, middleware, modelli, servizi ... http://laravel.com/docs/5.1/

Se hai bisogno di ulteriori informazioni, soluzione per problemi puoi iscriverti alla community: https://laracasts.com/

Saluti.


5
2017-07-29 09:48



se usi Laravel versione 5.2 Rivedi questo: 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');
   }
 }

4
2017-07-03 17:09



'Input' => Illuminate\Support\Facades\Input::class, aggiungilo ad App.php.


2
2018-05-19 06:37



Aggiungi questo in config / app.php sotto alias: -

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

0
2017-12-06 09:53