/ Ich übergebe einem Controller einen statischen Wert von Routen in Laravel - PHP, Laravel, Laravel-5, Routen, Laravel-5.3

Übergeben Sie einen statischen Wert an einen Controller von Routen in Laravel - PHP, Laravel, Laravel-5, Routen, Laravel-5.3

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 № 1

Verwenden 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
}