thinkPHP は、MVC (Model-View-Controller) アーキテクチャに基づく PHP フレームワークで、Web アプリケーションの開発に使用できます。 thinkPHP では、モジュールの概念が広く使用されています。一部の複雑なアプリケーションでは、異なるモジュール間をジャンプする必要があります。この記事では、thinkPHP5.0 を使用してモジュール間ジャンプを実行する方法を紹介します。
クロスモジュール ジャンプとは、あるモジュールのコントローラーから別のモジュールのコントローラーにジャンプすることを指します。 thinkPHP では、各モジュールに独立したコントローラーとビューがあります。ジャンプする前に、まずルーティング ルールを定義する必要があります。
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 モジュールの下のコントローラーのメソッドであり、要求タイプは次であることを示します。得る 。
ルーティング ルールを定義した後、モジュール間を移動できます。
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(); }
この記事では、その使用方法を紹介します。クロスモジュールジャンプには thinkPHP5.0 を使用します。ジャンプする前に、まずルーティング ルールを定義し、次に Url ヘルパー関数を使用してジャンプ用の URL アドレスを生成する必要があります。ターゲット コントローラーでは、input() 関数を使用して、ジャンプ時に渡されるパラメーター値を取得できます。
以上がthinkphp5.0 でモジュール間をジャンプする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。