2017-10-04 20 views
0

ワイルドカードなしのルートから関数にパラメータを渡す方法はありますか?我々はルート関数にパラメータを渡す

Route::post('reg/{param}','[email protected]'); 

にワイルドカードを追加する必要があります。しかし、私はしたいの使用ワイルドカードまたはクエリ文字列をないクエリ文字列データにアクセスするための例えば
。次のように自分のコントローラにあなたがしなければならないすべてはあなたのfunc方法を記述されています:

public function func($param) {} 

Laravelは自動的には何でも入れます私は

+0

内、ところでそのポストタイプミスだったPOSTルート – aaron0207

+0

を使用します。

ただ、このように、ワイルドカードなしであなたのルートを定義しますワイルドカードを使用して、関数からデータにアクセスしたい。データをパラメータとして関数に渡したい。 – user1994

答えて

0

私が正しくあなたの質問を理解していれば、パラメータとして機能するようにデータを渡したいです{param}~$paramである。したがって、サーバにhttp://server/reg/fooを投稿した場合、$paramは値 "foo"を取得します。それは変数の順序ではなく、変数の名前です。したがって、変数の名前を{fooX}とすれば、コントローラメソッド$fooXに渡されます。

あなたはそうのような複数の変数に置くことができます。

Route::post('reg/{paramX}/{paramY}','[email protected]'); 

をして

public function func($paramX, $paramY) {} 
+0

ワイルドカード技術を使いたくないと明言している。 – user1994

+0

私はそれらをワイルドカードと呼んでいるのを知らなかった。マニュアルでは、ルートパラメータhttps://laravel.com/docs/5.5/routing#route-parametersと呼んでいます。その場合、唯一の選択肢は、x-www-form-urlencoded形式またはjson形式で入力をリクエスト本体に入れることです。次に、渡された値を 'Request'パラメータから取得します –

0

としてあなたの方法を定義しません、それはLaravelルータがどのように動作するかです。しかし、あなたは依然としてリクエストからそれらにアクセスできます。グローバル変数$_GETまたは$_POSTから「旧い日」に行ったように、

Route::post('reg','[email protected]'); 

を、私ははっきりと私ドン述べてきたように、関数の使用$request->query('param_name');

関連する問題