Dalam MVC rangka kerja thinkphp, untuk lebih mudah melaksanakan pemindahan data antara pengawal dan paparan, kami sering menggunakan kaedah $this->assign()
untuk memindahkan data ke fail paparan. Dalam kaedah pengawal, untuk memproses parameter alamat URL dengan lebih mudah, kami sering menggunakan kaedah $this->request->param()
untuk mendapatkan parameter. Walau bagaimanapun, dalam beberapa kes, kita perlu menyambung URL dan lulus parameter dalam kaedah pengawal, dalam hal ini kita perlu menggunakan kaedah r()
.
Jadi, apakah kaedah r()
? Kaedah r()
ialah kaedah penjanaan URL dalam rangka kerja thinkphp Ia digunakan untuk menjana alamat URL dan boleh lulus parameter. Sintaks asasnya ialah:
r('[模块/控制器/操作]', ['参数名' => '参数值']);
Antaranya, [模块/控制器/操作]
mewakili alamat URL yang perlu diakses dan ['参数名' => '参数值']
mewakili parameter yang perlu dilalui satu atau lebih parameter .
Jadi, bagaimanakah kita menggunakan kaedah r()
untuk menghantar parameter? Di bawah ini kami akan memperkenalkannya secara terperinci dengan contoh.
Sebagai contoh, jika kita perlu menjana alamat URL dan lulus parameter dalam kaedah pengawal, kita boleh menulis seperti ini:
public function index() { //生成URL地址并传递参数 $url = url('index/detail', ['id' => 1, 'name' => 'ThinkPHP']); return $this->fetch('', ['url' => $url]); }
Dalam kod di atas, dalam url('index/detail', ['id' => 1, 'name' => 'ThinkPHP'])
, index/detail
bermaksud Kaedah pengawal yang perlu diakses, ['id' => 1, 'name' => 'ThinkPHP']
mewakili parameter yang perlu dilalui, dengan id ialah 1 dan namanya ThinkPHP. Alamat URL yang dijana akhir ialah: http://域名/index/detail/id/1/name/ThinkPHP.html
.
Kaedah penjanaan alamat URL di atas dilaksanakan melalui fungsi url()
, tetapi dalam rangka kerja thinkphp, fungsi url()
dilaksanakan melalui kaedah r()
, jadi kita juga boleh menggunakan r()
Kaedah untuk menjana alamat URL dan lulus parameter.
Berikut ialah contoh kod menggunakan kaedah r()
untuk penjanaan alamat URL dan penghantaran parameter:
public function index() { //生成URL地址并传递参数 $url = r('index/detail', ['id' => 1, 'name' => 'ThinkPHP']); return $this->fetch('', ['url' => $url]); }
Dalam kod di atas, dalam r('index/detail', ['id' => 1, 'name' => 'ThinkPHP'])
, index/detail
menunjukkan kawalan yang perlu diakses Kaedah penukar, ['id' => 1, 'name' => 'ThinkPHP']
mewakili parameter yang perlu dilalui, di mana id ialah 1 dan nama ialah ThinkPHP. Alamat URL yang dijana akhir juga ialah: http://域名/index/detail/id/1/name/ThinkPHP.html
.
Perlu diambil perhatian bahawa alamat URL dan kaedah lulus parameter yang dijana menggunakan kaedah r()
adalah sama seperti menggunakan kaedah url()
.
Ringkasnya, kaedah r()
ialah kaedah penjanaan URL dalam rangka kerja thinkphp, yang boleh menjana alamat URL dan lulus parameter dengan mudah. Apabila kita perlu menyambung URL dan menghantar parameter dalam kaedah pengawal, kita juga boleh mencuba kaedah r()
, yang boleh memberi kita pengalaman pengaturcaraan yang lebih mudah dan lebih pantas.
Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menghantar parameter kepada kaedah r() dalam thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!