ホームページ  >  記事  >  PHPフレームワーク  >  thinkphp5.0 でモジュール間をジャンプする方法

thinkphp5.0 でモジュール間をジャンプする方法

PHPz
PHPzオリジナル
2023-04-17 10:28:33670ブラウズ

thinkPHP は、MVC (Model-View-Controller) アーキテクチャに基づく PHP フレームワークで、Web アプリケーションの開発に使用できます。 thinkPHP では、モジュールの概念が広く使用されています。一部の複雑なアプリケーションでは、異なるモジュール間をジャンプする必要があります。この記事では、thinkPHP5.0 を使用してモジュール間ジャンプを実行する方法を紹介します。

  1. 概要

クロスモジュール ジャンプとは、あるモジュールのコントローラーから別のモジュールのコントローラーにジャンプすることを指します。 thinkPHP では、各モジュールに独立したコントローラーとビューがあります。ジャンプする前に、まずルーティング ルールを定義する必要があります。

  1. ルーティング ルールの定義

thinkPHP5.0 では、ルーティング ファイル (route.php) でルーティング ルールを定義できます。ルーティング ルールでは、モジュール間のジャンプを含む、URL リクエストに対する応答を定義できます。

ルーティング ルールを定義する形式は次のとおりです。

Route::rule('路由规则','模块/控制器/方法','请求类型');

このうち、ルーティング ルールは文字列型、モジュール/コントローラ/メソッドは URL リクエストに対する応答、そしてrequest type は HTTP メソッドです。例:

Route::rule('index','index/Index/index','get');

このルールは、リクエストされた URL が http://www.example.com/index の場合、応答するコントローラーは Index コントローラーの下の Index メソッドであることを意味します。リクエストタイプはgetです。

クロスモジュール ジャンプを行う場合、ルーティング ルールでアンダースコア「_」を使用してモジュール名を表すことができます。例:

Route::rule('jump','admin_模块/控制器/方法','get');

このルールは、要求された URL が http://www.example.com/jump である場合、応答するコントローラーは admin モジュールの下のコントローラーのメソッドであり、要求タイプは次であることを示します。得る 。

ルーティング ルールを定義した後、モジュール間を移動できます。

  1. モジュール間ジャンプ

thinkPHP5.0 では、システムが提供する URL アシスタント機能を使用してモジュール間をジャンプできます。 URL ヘルパー関数は、定義されたルーティング ルールに基づいて、対応する URL アドレスを生成できます。

Url ヘルパー関数を使用する形式は次のとおりです。

url('路由规则',参数数组);

このうち、ルーティング ルールは定義されたルーティング ルール、パラメーター配列はターゲット コントローラーに渡されるパラメーターの配列です。 。

たとえば、メイン モジュールの Index コントローラーで、admin モジュールの下の User コントローラーの add メソッドにジャンプする必要がある場合は、次のように記述できます。

public function jump(){
    // 跳转到admin模块下的User控制器的add方法
    $url = url('admin_User/add');
    return $this->redirect($url);
}

ジャンプするときは、パラメータを渡す必要がある場合は、URL ヘルパー関数の 2 番目のパラメータに追加できます。たとえば、Index コントローラーでは、admin モジュールの下の User コントローラーの edit メソッドにジャンプし、パラメーター id=1 を渡す必要があります。次のように記述できます:

public function jump(){
    // 跳转到admin模块下的User控制器的edit方法,并传递参数id=1
    $url = url('admin_User/edit',['id'=>1]);
    return $this->redirect($url);
}

ターゲット コントローラーでは、 input( ) 関数を使用してパラメータ値を取得できます。たとえば、User コントローラーの edit メソッドで、id パラメーターの値を取得するコードは次のとおりです。

public function edit(){
    // 获取id参数值
    $id = input('id');
    // 赋值到视图中
    $this->assign('id',$id);
    // 渲染视图
    return $this->fetch();
}
  1. 要約

この記事では、その使用方法を紹介します。クロスモジュールジャンプには thinkPHP5.0 を使用します。ジャンプする前に、まずルーティング ルールを定義し、次に Url ヘルパー関数を使用してジャンプ用の URL アドレスを生成する必要があります。ターゲット コントローラーでは、input() 関数を使用して、ジャンプ時に渡されるパラメーター値を取得できます。

以上がthinkphp5.0 でモジュール間をジャンプする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。