ホームページ > PHPフレームワーク > ThinkPHP > thinkphpでRメソッドを使用する方法

thinkphpでRメソッドを使用する方法

WBOY
リリース: 2022-02-25 11:45:38
オリジナル
2437 人が閲覧しました

thinkphp では、R メソッドを使用して、特定のコントローラーの操作メソッドを呼び出します。これは、A メソッドをさらに強化し、補足するものです。R メソッドの呼び出し形式は、"R('[project ://][グループ /]モジュール/オペレーション','パラメータ','コントローラ層名')"。

thinkphpでRメソッドを使用する方法

この記事の動作環境: Windows 10 システム、ThinkPHP バージョン 5、Dell G3 コンピューター。

thinkphp で R メソッドを使用する方法

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート