Sie erhalten viel mehr Funktionalität aus der Verwendung von Input::get, Input::has, Input::all, Input::file usw. Die einzige Zeit, in der ich die Verwendung eines Super Global empfehle, ist, wenn Sie eine Reihe von Dateien hochladen, als Sie es tun müssen $_FILES verwenden.
– Michael J. Calkins
27. Februar 2013 um 22:31 Uhr
Für alle, die dies im Jahr 2016 lesen, ist der richtige Weg, Input in Laravels > v5.0 zu verwenden, dieser stackoverflow.com/a/34642837/1067293
– Ramon Royo
17. Mai 2016 um 10:42 Uhr
Dies ist nicht die Laravel-Methode, um Anforderungsparameter zu erhalten
Unter 5.3-8.0 verweisen Sie auf den Abfrageparameter, als ob er ein Mitglied von wäre Requestclass.
1. URL
http://example.com/path?page=2
2. In einem Routen-Callback oder einer Controller-Aktion mit der magischen Methode Request::__get()
Route::get('/path', function(Request $request){
dd($request->page);
});
//or in your controller
public function foo(Request $request){
dd($request->page);
}
//NOTE: If you are wondering where the request instance is coming from, Laravel automatically injects the request instance from the IOC container
//output
"2"
###3. Standardwerte Wir können auch einen Standardwert übergeben, der zurückgegeben wird, wenn ein Parameter nicht existiert. Es ist viel sauberer als ein ternärer Ausdruck, den Sie normalerweise mit den Anfrage-Globals verwenden würden
//wrong way to do it in Laravel
$page = isset($_POST['page']) ? $_POST['page'] : 1;
//do this instead
$request->get('page', 1);
//returns page 1 if there is no page
//NOTE: This behaves like $_REQUEST array. It looks in both the
//request body and the query string
$request->input('page', 1);
###4. Anfragefunktion nutzen
$page = request('page', 1);
//returns page 1 if there is no page parameter in the query string
//it is the equivalent of
$page = 1;
if(!empty($_GET['page'])
$page = $_GET['page'];
Das Ursprünglich Der Parameter ist optional, daher kann er weggelassen werden
###5. Verwendung von Request::query()
Während die Eingabemethode Werte aus der gesamten Anforderungsnutzlast (einschließlich der Abfragezeichenfolge) abruft, ruft die Abfragemethode nur Werte aus der Abfragezeichenfolge ab
//this is the equivalent of retrieving the parameter
//from the $_GET global array
$page = $request->query('page');
//with a default
$page = $request->query('page', 1);
Stellen Sie dann sicher, dass Sie in Ihrer Controller-Methode enthalten
use Illuminate\Http\Request;
und dies sollte sich über Ihrem Controller befinden, höchstwahrscheinlich ein Standardwert, wenn es mit generiert wird php artisanum nun eine Variable aus der URL zu erhalten, sollte sie so aussehen:
public function someMethod(Request $request)
{
$foo = $request->input("start");
$bar = $request->input("limit");
// some codes here
}
Unabhängig vom HTTP-Verb ist die Eingang() -Methode kann verwendet werden, um Benutzereingaben abzurufen.
Dies ist die beste Vorgehensweise. Auf diese Weise erhalten Sie die Variablen sowohl von der GET-Methode als auch von der POST-Methode
public function index(Request $request) {
$data=$request->all();
dd($data);
}
//OR if you want few of them then
public function index(Request $request) {
$data=$request->only('id','name','etc');
dd($data);
}
//OR if you want all except few then
public function index(Request $request) {
$data=$request->except('__token');
dd($data);
}
Abfrageparameter werden wie folgt verwendet:
use Illuminate\Http\Request;
class MyController extends BaseController{
public function index(Request $request){
$param = $request->query('param');
}
Syed Waqas Buchary
Im Laravel 5.3$start = Input::get('start'); kehrt zurück NULL
Um dies zu lösen
use Illuminate\Support\Facades\Input;
//then inside you controller function use
$input = Input::all(); // $input will have all your variables,
$start = $input['start'];
$limit = $input['limit'];
Der Milliardär
In Laravel 5.3
Ich möchte den Get-Parameter in meiner Ansicht anzeigen