現在の位置: ホーム> 最新記事一覧> ThinkPHPジャンプ操作の変更チュートリアル:ルート、パラメーター、ジャンプ方法の詳細な分析

ThinkPHPジャンプ操作の変更チュートリアル:ルート、パラメーター、ジャンプ方法の詳細な分析

gitbox 2025-06-16

ThinkPhpでジャンプ操作を変更します

ThinkPhpフレームワークを使用する場合、ページジャンプは一般的な操作です。特にフォームが送信された後、結果表示のために別のページにジャンプする必要があります。デフォルトでは、ThinkPHPはRedirect()関数を使用してページRedirectを実行しますが、パラメーターの渡しやジャンプルートの調整など、ジャンプ方法を変更する必要がある場合があります。

1.ジャンプルートを変更します

ThinkPhpでは、コントローラーとメソッドのアクセスルートは通常「コントローラー名/メソッド名」です。例えば:

        public function login(){
            // ...
            $ this-> redirect( 'index/index');
        }
    

このコードは、ログイン操作が実行された後、インデックスコントローラーのインデックスメソッドにジャンプすることを意味します。

他のコントローラーにジャンプする必要がある場合は、次の変更を行うことができます。

        public function login(){
            // ...
            $ this-> redirect( 'user/index');
        }
    

このコードは、ログイン操作が実行後にユーザーコントローラーのインデックスメソッドにジャンプすることを示しています。

2.ジャンプするパラメーターを追加します

ジャンプ中にパラメーターを渡す必要がある場合があり、Redirect()メソッドにパラメーターを追加できます。例えば:

        public function login(){
            // ...
            $ this-> redirect( 'user/index'、['id' => 1、 'name' => 'test']);
        }
    

このコードは、IDと名前パラメーターをターゲットページに渡し、それぞれ値とテストをテストします。

ターゲットコントローラーでは、input()関数を介して渡されたパラメーターを取得できます。

        パブリック関数index(){
            $ id = input( 'id');
            $ name = input( 'name');
            // ...
        }
    

このようにして、インデックスメソッドでは、渡されたIDと名前パラメーターを受信できます。

3.ジャンプ方法を変更します

デフォルトでは、ThinkPhpはHeader()関数を使用してページリダイレクトを実行します。メタを使用してジャンプする場合は、構成ファイルで変更できます。

        //ヘッダーを使用して 'url_convert' => trueをジャンプします
        'url_common_param' => true、
        'url_route_on' => true、
        'url_html_suffix' => 'html'、
        
        //メタを使用して 'url_meta_refresh' => '1; url ='をジャンプします。
    

このようにして、ジャンプ中に使用される技術は変更できます。

4.オブジェクトを使用してジャンプします

ThinkPhpは、オブジェクトを使用してジャンプする方法も提供します。たとえば、\ urlオブジェクトを使用してジャンプリンクを構築できます。

        Think \ urlを使用してください。

        パブリック関数index(){
            // ...
            $ url = url :: build( 'user/index'、['id' => 1]);
            return redirect($ url);
        }
    

このコードは、インデックスメソッドにジャンプリンクを生成し、ターゲットページのインデックスメソッドにパラメーターIDを渡します。

要約します

ジャンプルートを変更し、パラメーターを渡し、ジャンプ方法を変更し、オブジェクトジャンプを使用することにより、開発者はThinkPHPでページジャンプ操作を柔軟に制御できます。これらの手法は、コードの保守性とスケーラビリティを向上させることができ、実際のプロジェクトで非常に役立ちます。