thinkphp フレームワークの MVC では、コントローラーとビュー間のデータ転送をより便利に実装するために、$this->assign()
メソッドを使用してデータをビューに転送することがよくあります。ファイルを閲覧する。 。コントローラーメソッドでは、URL アドレスパラメーターをより便利に処理するために、$this->request->param()
メソッドを使用してパラメーターを取得することがよくあります。ただし、場合によっては、URL を結合してコントローラー メソッドでパラメーターを渡す必要があり、この場合は r()
メソッドを使用する必要があります。
それでは、r()
メソッドとは何でしょうか? r()
メソッドは thinkphp フレームワークの URL 生成メソッドで、URL アドレスの生成に使用され、パラメーターを渡すことができます。その基本的な構文は次のとおりです。
r('[模块/控制器/操作]', ['参数名' => '参数值']);
このうち、 [モジュール/コントローラ/オペレーション]
はアクセスする必要がある URL アドレスを表し、 ['パラメータ名' => 'パラメータ値 ']
は、渡す必要があるパラメータを示します。1 つ以上のパラメータを渡すことができます。
それでは、r()
メソッドを使用してパラメータを渡すにはどうすればよいでしょうか?以下に事例を交えて詳しくご紹介していきます。
たとえば、URL アドレスを生成し、コントローラー メソッドでパラメーターを渡す必要がある場合は、次のように記述できます。
public function index() { //生成URL地址并传递参数 $url = url('index/detail', ['id' => 1, 'name' => 'ThinkPHP']); return $this->fetch('', ['url' => $url]); }
上記のコードでは、url('index /detail', ['id' => 1, 'name' => 'ThinkPHP'])
, index/detail
は、アクセスする必要があるコントローラー メソッドを表します。 ['id' = > 1, 'name' => 'ThinkPHP'] は、渡す必要があるパラメーターを表します (id は 1、名前は ThinkPHP)。最終的に生成される URL アドレスは、
http://domain name/index/detail/id/1/name/ThinkPHP.html です。
url() 関数を通じて実装されますが、thinkphp フレームワークでは、
url() 関数は
r() メソッドなので、
r() メソッドを使用して URL アドレスを生成し、パラメーターを渡すこともできます。
r() メソッドを使用して URL アドレスを生成し、パラメーターを渡すコード例です。
public function index() { //生成URL地址并传递参数 $url = r('index/detail', ['id' => 1, 'name' => 'ThinkPHP']); return $this->fetch('', ['url' => $url]); }
r( 'index/detail ', ['id' => 1, 'name' => 'ThinkPHP']),
index/detail はアクセスする必要があるコントローラー メソッドを表します。 ##['id ' => 1, 'name' => 'ThinkPHP']
は、渡す必要があるパラメーターを表します (id は 1、名前は ThinkPHP)。最終的に生成される URL アドレスも、http://domain name/index/detail/id/1/name/ThinkPHP.html
になります。
メソッドを使用して生成される URL アドレスとパラメータの受け渡し方法は、url()
メソッドを使用する場合と同じであることに注意してください。 要約すると、
メソッドは thinkphp フレームワークの URL 生成メソッドであり、URL アドレスを簡単に生成してパラメーターを渡すことができます。 URL を結合し、コントローラー メソッドでパラメーターを渡す必要がある場合は、より便利で高速なプログラミング エクスペリエンスをもたらす r()
メソッドを試してみるとよいでしょう。
以上がthinkphp の r() メソッドにパラメータを渡す方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。