In meinem routes.php
Datei, die ich habe:
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();
});
Ich habe ein Formular für die Benutzerregistrierung. Ich nehme auch den Formulareingabewert im routes.php
.
Der Fehler tritt jedoch auf, wenn ich einen Benutzer registriere. Error:
FatalErrorException in routes.php line 61:
Class 'input' not found
Es ist Input
und nicht input
. Diese Festschreibung hat die Fassadendefinition Input
aus config/app.php
Entfernt, daher müssen Sie diese wie folgt manuell zum Array aliases
hinzufügen.
'Input' => Illuminate\Support\Facades\Input::class,
Oder Sie können Input
Fassade direkt nach Bedarf importieren,
use Illuminate\Support\Facades\Input;
Für laravel <
5.2:
Öffne config/app.php
und füge die Klasse Input
zu aliases
hinzu:
'aliases' => [
// ...
'Input' => Illuminate\Support\Facades\Input::class,
// ...
],
Für laravel >=
5.2
Veränderung Input::
bis Request::
Sie können eine Fassade in Ihrem folder\config\app.php
'Input' => Illuminate\Support\Facades\Input::class,
In Laravel 5.2 Input :: wird ersetzt durch Request ::
verwenden
Request::
Fügen Sie den Controller oder eine andere Klasse hinzu
use Illuminate\Http\Request;
Zunächst geht es bei Ihrem Problem um die Schreibweise der Eingabeklasse, sollte Eingabe statt Eingabe sein. Und Sie müssen die Klasse mit dem guten Namespace importieren.
use Illuminate\Support\Facades\Input;
Wenn Sie möchten, dass der Name "Eingabe" und nicht "Eingabe" lautet, fügen Sie Folgendes hinzu:
use Illuminate\Support\Facades\Input as input;
Zweitens ist es ein schmutziger Weg, über route.php in der Datenbank zu speichern, und Sie verarbeiten keine Datenüberprüfung. Wenn ein gesendeter Parameter nicht Ihren Erwartungen entspricht, wird möglicherweise ein SQL-Fehler angezeigt, der vom Datentyp verursacht wird. Sie sollten den Controller verwenden, um mit Informationen zu interagieren und über das Modell in der Controller-Methode zu speichern.
Die Datei route.php verwaltet das Routing. Es soll die Verbindung zwischen der Steuerung und der abgefragten Route herstellen.
Informationen zu Controller, Middleware, Modell, Service ... http://laravel.com/docs/5.1/
Wenn Sie weitere Informationen benötigen, können Sie der Community beitreten: https://laracasts.com/
Grüße.
Erklärung in config/app.php unter Aliases: -
'Input' => Illuminate\Support\Facades\Input::class,
Oder Sie können die Eingabefassade direkt nach Bedarf importieren.
use Illuminate\Support\Facades\Input;
oder
use Illuminate\Support\Facades\Input as input;
wenn Sie Laravel Version 5.2 verwenden, lesen Sie Folgendes: 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
, füge es zu App.php hinzu.
Fügen Sie dies in config/app.php unter Aliases hinzu: -
'Input' => Illuminate\Support\Facades\Input::class,
Fehlanzeige der Klasse, es sollte Input
nicht input
sein
Dieses saubere Code-Snippet funktioniert gut für mich:
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();
});