この記事では主に ThinkPHP の R メソッドを紹介します。必要な方は参考にしてください。
ThinkPHP の R メソッドは、A メソッドをさらに強化し補足するもので、特定のコントローラーの操作メソッドを呼び出すために使用されます。
R メソッド呼び出し形式:
R('[Project://][Group/]Module/Operation','Parameters','Controller Layer name')
たとえば、オペレーションを定義します。は:
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コントローラーのdetailメソッドを呼び出すことを意味します。
同じレイヤー上であまり多くの呼び出しを行わないことを公式が推奨しています。そうしないと、パブリックに呼び出される部分を別のインターフェイスにカプセル化する必要があります。ThinkPHP3.1 マルチレイヤー コントローラーの新機能を使用できます。コントローラー層はインターフェース呼び出しに使用されます。たとえば、
class UserApi extends Action { public function detail($id){ return M('User')->find($id); } }
という API コントローラー層を追加します。次に、R メソッドを使用して
$data = R('User/detail',array('5'),'Api');
を呼び出します。 、R メソッドの 3 番目のパラメーターは、呼び出すコントローラー層を指定します。
同時に、R メソッドは、操作メソッドの呼び出し時に操作サフィックス設定 C ('ACTION_SUFFIX') をサポートできます。操作メソッドのサフィックスを設定した場合でも、R メソッドの呼び出しメソッドを変更する必要はありません。
関連する推奨事項:
ThinkPHP のユーザー登録、ログイン、メッセージの完全な例
以上がThinkPHP R メソッドの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。