Rumah >rangka kerja php >ThinkPHP >kaedah thinkphp3.2.3 u melepasi parameter
Thinkphp3.2.3 ialah rangka kerja PHP sumber terbuka yang popular yang boleh membangunkan aplikasi web dengan mudah dan menyediakan fungsi pembangunan aplikasi yang kaya. Dalam Thinkphp3.2.3, kaedah u ialah fungsi yang sangat biasa digunakan untuk menjana laluan URL Apabila menggunakan kaedah u, kami mungkin perlu menghantar beberapa parameter ke URL Artikel ini akan memperkenalkan cara menggunakan kaedah u untuk lulus dalam Thinkphp3 .2.3 parameter.
1. Pengenalan kepada kaedah u
Dalam Thinkphp3.2.3, kaedah u digunakan untuk menjana laluan URL, dan sintaksnya adalah seperti berikut:
u('控制器/操作方法', '参数', '伪静态后缀', '是否显示域名')
Antaranya , kaedah pengawal/operasi ditentukan Kaedah pengawal dan tindakan bagi laluan URL yang akan dijana, parameter menentukan parameter yang akan dihantar kepada kaedah tindakan, akhiran pseudo-statik menentukan akhiran URL yang dijana (seperti . html), sama ada untuk memaparkan nama domain menentukan sama ada untuk memasukkan nama domain dalam URL.
2. Lulus parameter dalam kaedah u
Dalam Thinkphp3.2.3, kita boleh menggunakan jenis data seperti tatasusunan, rentetan atau objek untuk menghantar parameter. Di bawah ini kami akan memperkenalkan cara menggunakan jenis data ini untuk menghantar parameter.
1 Gunakan tatasusunan untuk menghantar parameter
Apabila menggunakan tatasusunan untuk menghantar parameter, kita boleh menghantar parameter kepada kaedah u sebagai tatasusunan bersekutu. Contohnya:
$params = array( 'id' => 1, 'name' => 'Tom' ); $url = u('user/detail', $params);
Dalam kod di atas, $params ialah tatasusunan bersekutu yang mengandungi dua pasangan nilai kunci. Kami menghantar $params sebagai parameter kepada kaedah u untuk menjana laluan URL. Dalam kaedah pengendalian pengawal, kita boleh menggunakan tatasusunan super global $_GET untuk mendapatkan parameter ini, seperti berikut:
class UserController extends Controller{ public function detail(){ $id = $_GET['id']; $name = $_GET['name']; // do something } }
2. Gunakan rentetan untuk menghantar parameter
Apabila menggunakan rentetan untuk menghantar parameter, Kita boleh menyambung parameter terus ke laluan URL, contohnya:
$url = u('user/detail', 'id=1&name=Tom');
Dalam kaedah pengendalian pengawal, kita boleh menggunakan fungsi parse_str untuk menghuraikan parameter ke dalam tatasusunan, seperti berikut:
class UserController extends Controller{ public function detail(){ parse_str($_SERVER['QUERY_STRING'], $params); $id = $params['id']; $name = $params['name']; // do something } }
3 , Gunakan objek untuk lulus parameter
Apabila menggunakan objek untuk lulus parameter, kita boleh menghantar parameter kepada kaedah u sebagai atribut objek. Sebagai contoh:
class User{ public $id; public $name; } $user = new User(); $user->id = 1; $user->name = 'Tom'; $url = u('user/detail', $user);
Dalam kaedah operasi pengawal, kita boleh menggunakan sifat objek untuk mendapatkan parameter ini, seperti berikut:
class UserController extends Controller{ public function detail(){ $id = $_GET['id']; $name = $_GET['name']; // do something } }
Langkah Berjaga-jaga
Apabila menggunakan u Apabila menghantar parameter melalui kaedah, anda perlu memberi perhatian kepada perkara berikut:
1 Jika parameter mengandungi aksara khas (seperti garis miring), anda perlu menggunakan fungsi urlencode untuk pengekodan;
2. Jika parameter mengandungi Aksara Cina perlu dikodkan menggunakan fungsi urlencode, atau set aksara ditetapkan dalam kaedah u, contohnya:
$url = u('user/detail', array('name' => '张三'), '', true, 'utf-8');
Dalam kaedah pengendalian pengawal, anda perlu menggunakan fungsi urldecode untuk menyahkod, contohnya:
$name = urldecode($_GET['name']);
3 Susunan parameter lulus mempunyai kesan pada penjanaan laluan URL Contohnya:
$url1 = u('user/detail', 'id=1&name=Tom'); $url2 = u('user/detail', 'name=Tom&id=1');
Laluan URL yang dihasilkan oleh $url1 dan $url2 akan berbeza.
4. Ringkasan
Di atas adalah kaedah dan langkah berjaga-jaga untuk menggunakan kaedah u untuk lulus parameter dalam Thinkphp3.2.3 Saya harap ia akan membantu pembangunan semua orang. Apabila menggunakan kaedah u untuk lulus parameter, anda perlu memilih jenis parameter yang sesuai mengikut situasi sebenar dan ikuti langkah berjaga-jaga.
Atas ialah kandungan terperinci kaedah thinkphp3.2.3 u melepasi parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!