Terdapat dua cara untuk mengubah suai laluan dalam thinkphp: 1. Gunakan kaedah rule() dalam fail route.php untuk mengubah suai terus laluan berita menjadi laluan artikel Kodnya ialah "rule('article'. ,'index/News /index')"; 2. Tentukan peraturan penghalaan secara dinamik dalam pengawal, kodnya ialah "rule('news/:id', 'index/News/read')->model(['id ' => ' id'])".
Sistem pengendalian untuk tutorial ini: Sistem Windows 10, versi thinkphp6.1.2, komputer Dell G3.
Dalam thinkphp, kami boleh menyesuaikan alamat URL dan menghantarnya ke kaedah pengawal yang sepadan dengan mentakrifkan peraturan penghalaan.
Untuk mengubah suai peraturan penghalaan, terdapat dua kaedah:
1 Ubah suai terus dalam fail route.php, yang terletak dalam direktori projek /. direktori laluan.
Berikut ialah contoh kod, di mana kami mengubah suai laluan berita ke dalam laluan artikel:
<?php use think\Route; // 修改/news路由规则为/article Route::rule('article','index/News/index');
Kod di atas memanggil kaedah rule() yang disediakan oleh ThinkPHP dan Pass URL laluan dan parameter kepada kaedah pengawal. Nota:
Parameter pertama mewakili akhiran alamat URL penghalaan, seperti artikel di sini.
Parameter kedua mewakili laluan pengawal yang ditunjuk oleh laluan, contohnya, ia menunjuk ke indeks/Berita/indeks.
2. Tentukan peraturan penghalaan secara dinamik dalam pengawal Kaedah ini biasanya digunakan untuk menjana peraturan penghalaan secara dinamik berdasarkan perubahan semasa program dijalankan.
Berikut ialah contoh kod di mana peraturan penghalaan dijana secara dinamik dengan mentakrifkan fungsi penutupan:
<?php namespace app\index\controller; use think\Route; class Index { public function index() { // 动态生成路由规则 Route::rule('news/:id', 'index/News/read')->model(['id' => 'id']); return "动态路由规则生成成功"; } }
Kod di atas akan menjana kaedah indeks secara dinamik apabila mengakses kaedah indeks pengawal Indeks Petakan peraturan penghalaan berita/:id kepada kaedah pengawal indeks/Berita/baca, dan gunakan pengikatan model untuk menjana pernyataan pertanyaan SQL secara automatik apabila mengikat parameter.
Atas ialah kandungan terperinci Apakah kaedah untuk mengubah suai penghalaan dalam thinkphp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!