Rumah > rangka kerja php > ThinkPHP > kaedah thinkphp3.2.3 u melepasi parameter

kaedah thinkphp3.2.3 u melepasi parameter

WBOY
Lepaskan: 2023-05-29 11:02:37
asal
788 orang telah melayarinya

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('控制器/操作方法', '参数', '伪静态后缀', '是否显示域名')
Salin selepas log masuk

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);
Salin selepas log masuk

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
    }
}
Salin selepas log masuk
Salin selepas log masuk

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');
Salin selepas log masuk

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
    }
}
Salin selepas log masuk

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);
Salin selepas log masuk

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
    }
}
Salin selepas log masuk
Salin selepas log masuk

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');
Salin selepas log masuk

Dalam kaedah pengendalian pengawal, anda perlu menggunakan fungsi urldecode untuk menyahkod, contohnya:

$name = urldecode($_GET['name']);
Salin selepas log masuk

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');
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan