Ich möchte einen statischen Wert (Variable oder eine statische Zeichenfolge) von der Routendefinition an eine Steuerung übergeben. Wenn Sie beispielsweise die folgende Route in Betracht ziehen:
Route::get("/", [
"uses" => "ControllersFoController@show",
"as" => "show"
]);
Ich möchte eine Variable (ex, $ var1) an das übergeben, undDann kann im FoController-Konstruktor oder in anderen Controller-Methoden darauf zugegriffen werden, sodass mir der Wert dieser Variablen in der URL nicht gefällt. Wie kann ich das machen? Vielen Dank...
Antworten:
0 für die Antwort № 1Verwenden Sie einen Verschluss und rufen Sie den Controller selbst an und übergeben Sie, was immer Sie wollen.
Route::get("/", function(){
$controller = app()->make("FoController");
return $controller->callAction("show", ["foo" => "bar", "ping" => "pong"]);
});
0 für die Antwort № 2
Als Antwort auf @serge können Sie dies auch auf diese Weise tun
Route::get("/","fooController@index")
->defaults("id", "3");
-1 für die Antwort № 3
Das kannst du so machen.
Route::any("/home/createuser/{id}","HomeController@createuser");
Sie können den Operator {} für Parameter verwenden. im Controller.
public function createuser($id){
//here you can use $id
}