Laravelはどのようにしてルーティングパラメータとクエリ文字列のパラメータを同時に受け取るのでしょうか?

藏色散人
リリース: 2021-03-05 09:03:06
転載
2634 人が閲覧しました

次のチュートリアルコラムでは、ルーティングパラメーターとクエリ文字列のパラメーターを同時に受け取るための Laravel を紹介します。 Laravel はルート パラメーターとクエリ文字列内のパラメーターの両方を受け取ります

Laravel はコントローラーで許可しますこのメソッドは、ルートで定義されたパラメータを次のように取得します:

ルートで定義されたパラメータ:

Route::get('post/{id}', 'PostController@content' );


コントローラー メソッドでルーティング パラメーターをキャプチャする: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">class PostController extends Controller {     public function content($id)     {         //     } }</pre><div class="contentsignin">ログイン後にコピー</div></div>Laravel はルーティング パラメーターとクエリ文字列パラメーターを同時にキャプチャします

どうすれば両方をキャプチャできますかコントローラー? ルートで定義されたパラメーターは、URL クエリ文字列のパラメーターも受け取ることができます。たとえば、リクエスト リンクは次のようになります

#http://example.com.cn/post/1?from=index

公式 Web サイトのドキュメントからの説明の引用

#依存関係の挿入とルート パラメーターコントローラー メソッドがルート パラメーターからの入力も期待している場合は、他の依存関係の後にルート パラメーターをリストする必要があります。

つまり、コントローラー メソッドが依存関係を挿入するときにルート内のパラメーターを引き続き使用したい場合は、メソッドの依存関係の後にルート内のパラメーターをリストする必要があります。次に例を示します。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PostController extends Controller
{

    public function content(Request $request, $id)
    {
        $from = $request->get('from')
    }
}
ログイン後にコピー
Laravel は複数のオプションパラメータをキャプチャします

さらに、laravel routing:

Route::get('/article/{ id}/{source?}/{medium ?}/{campaign?}', 'ArticleController@detail')

コントローラー メソッドのオプションのパラメーターは、デフォルト パラメーターとして定義する必要があります: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">    public function detail(Request $request, $id, $source = '', $mediun = '', $campaign = '')     {         //     }</pre><div class="contentsignin">ログイン後にコピー</div></div>これを定義した後、URL で 0 ~ 3 個のオプション パラメータを渡すことができますが、それらは順序どおりである必要があります。つまり、2 番目のオプション パラメータを渡す場合は、最初のオプション パラメータが存在する必要があります。

URL の例:

http://example.com.cn/article/1/wx/h5?param1=val1¶m2=val2


この例では
"wx " は変数 $source
に渡され、"h5" は変数 $medium に渡されます。 推奨:

最新の 5 つの Laravel ビデオ チュートリアル

以上がLaravelはどのようにしてルーティングパラメータとクエリ文字列のパラメータを同時に受け取るのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!