thinkphp では、R メソッドを使用して、特定のコントローラーの操作メソッドを呼び出します。これは、A メソッドをさらに強化し、補足するものです。R メソッドの呼び出し形式は、"R('[project ://][グループ /]モジュール/オペレーション','パラメータ','コントローラ層名')"。
この記事の動作環境: Windows 10 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。
R メソッドは、特定のコントローラーの操作メソッドを呼び出すために使用されます。これは、A メソッドをさらに強化し、補足するものです。
R メソッド呼び出し形式:
R('[项目://][分组/]模块/操作','参数','控制器层名称')
たとえば、操作メソッドを
class UserAction extends Action { public function detail($id){ return M('User')->find($id); } }
として定義すると、R メソッドを通じて他のコントローラーでこの操作を呼び出すことができます。メソッド (通常、R メソッドはモジュール間の呼び出しに使用されます)
$data = R('User/detail',array('5'));
は、ユーザー コントローラーの詳細メソッドの呼び出しを意味し (詳細メソッドはパブリック型である必要があります)、戻り値はユーザー データのクエリです。 ID 5 付き。呼び出したい操作メソッドにパラメータがない場合は、2 番目のパラメータを空白のままにして直接使用できます:
$data = R('User/detail');
また、グループやプロジェクト全体での呼び出しもサポートできます。例:
R('Admin/User/detail',array('5'));
Admin グループの下の User コントローラーの詳細メソッドを呼び出すことを示します。
R('Admin://User/detail',array('5'));
は、Admin プロジェクトの下で User コントローラーの詳細メソッドを呼び出すことを示します。
公式の推奨事項は、論理的な混乱を引き起こすため、同じレイヤーであまりにも多くの呼び出しを行わないようにすることです。パブリックに呼び出される部分は別のインターフェイスにカプセル化する必要があり、新しい機能を使用して個別に追加できます。 3.1 のマルチレイヤー コントローラーです。コントローラー レイヤーはインターフェイス呼び出しに使用されます。たとえば、Api コントローラー レイヤー
class UserApi extends Action { public function detail($id){ return M('User')->find($id); } }
を追加します。次に、R メソッドを使用して
$data = R('User/detail',array('5'),'Api');
In other を呼び出します。 R メソッドの 3 番目のパラメーターである単語。指定された呼び出しのコントローラー層をサポートします。
同時に、R メソッドは、操作メソッドの呼び出し時に操作サフィックス設定 C ('ACTION_SUFFIX') をサポートできます。操作メソッドのサフィックスを設定しても、呼び出しメソッドを変更する必要はありません。 Rメソッドの。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がthinkphpでRメソッドを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。