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

kaedah thinkphp3.2.3 u melepasi parameter

May 29, 2023 am 11:02 AM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1662
14
Tutorial PHP
1261
29
Tutorial C#
1234
24