Rumah > rangka kerja php > ThinkPHP > teks badan

Bagaimana untuk menghantar parameter dalam fungsi thinkphp D

王林
Lepaskan: 2023-06-02 19:32:09
ke hadapan
970 orang telah melayarinya

1. Pengenalan kepada fungsi D

Fungsi D ialah kaedah yang biasa digunakan dalam ThinkPHP untuk membuat instantiate objek model adalah seperti berikut:

D('模型名','应用名');
Salin selepas log masuk

Antaranya, nama model adalah parameter yang diperlukan. Nama aplikasi ialah parameter pilihan Jika tidak dinyatakan, ia lalai kepada aplikasi semasa. Sebagai contoh, jika kita ingin membuat instantiate model Blog, kita boleh menggunakan kod berikut:

$Blog = D('Blog');
Salin selepas log masuk

2 Cara menghantar parameter dalam fungsi D

Secara tertib untuk mengendalikan logik perniagaan dengan lebih baik, dalam Semasa pembangunan, kita mungkin perlu menghantar parameter kepada kaedah tertentu model. Kod berikut boleh digunakan untuk menanyakan senarai pengguna yang berumur lebih daripada 20 tahun

$User = D('User');
$list = $User->getUsersByAge(20);
Salin selepas log masuk

getUsersByAge dalam kod di atas ialah kaedah model Pengguna tersuai yang digunakan untuk menanya maklumat pengguna mengikut umur. Jika kita perlu menggunakan fungsi D untuk menjadikan objek model Pengguna dan memanggil kaedah getUsersByAge, bagaimanakah kita harus lulus parameter?

Pertama, kita perlu memahami parameter kedua fungsi D: nama aplikasi. Secara lalai, nama aplikasi ialah nama aplikasi semasa. Untuk menjadikan objek model dalam aplikasi lain, hanya nyatakan nama aplikasi. Sebagai contoh, untuk membuat contoh objek model Pengguna dalam aplikasi Pentadbir, anda boleh menggunakan kod berikut:

rreee

Dalam kod di atas, 'Admin' mewakili nama aplikasi. Dalam kes ini, aplikasi Pentadbir mencari model Pengguna untuk membuat instantiate objek, membenarkan fungsi D berfungsi dengan betul. Walau bagaimanapun, kami masih perlu mencari cara untuk menghantar parameter kepada kaedah getUsersByAge dalam model Pengguna.

Untuk menangani masalah ini, ThinkPHP menyediakan cara penulisan yang lebih ringkas. Kita boleh menggunakan parameter ketiga fungsi D untuk lulus parameter. Kod berikut boleh digunakan untuk menanyakan senarai pengguna berumur lebih 20 tahun

$User = D('User','Admin');
Salin selepas log masuk

Dalam kod di atas, rentetan kosong pertama mewakili nama model, rentetan kosong kedua mewakili nama aplikasi dan rentetan kosong ketiga rentetan Digunakan untuk menghantar parameter. Dalam kaedah getUsersByAge, kita boleh menggunakan fungsi func_get_args() untuk mendapatkan parameter yang diluluskan.

3. Contoh

Kami cuba mencipta modul bernama Blog dalam projek ThinkPHP5.0 untuk operasi sebenar. Buat pengawal Artikel dalam modul Blog dan tambahkan kaedah indeks untuk menanyakan senarai artikel dengan ID lebih daripada 10 dan status 1. Kodnya adalah seperti berikut:

$User = D('User','','');
$list = $User->getUsersByAge(20);
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi D untuk membuat instantiate objek model Blog dan menentukan nama aplikasi 'Common'. Kami menggunakan kaedah tersuai getArticlesById dalam model Blog untuk menanyakan senarai artikel yang memenuhi syarat. Kod kaedah getArticlesById adalah seperti berikut:

// 文件地址:application\blog\controller\Article.php
namespace app\blog\controller;
use think\Controller;
class Article extends Controller
{
    public function index()
    {
        $Blog = D('Blog','Common');
        $list = $Blog->getArticlesById(10,1);
        dump($list);
    }
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kaedah getArticlesById yang menanyakan senarai artikel dengan ID lebih daripada 10 dan status 1. Kaedah ini menerima dua parameter, $id dan $status. Dengan menetapkan syarat pertanyaan menggunakan kaedah where, kami akhirnya mengembalikan hasil pertanyaan melalui kaedah pilih.

Atas ialah kandungan terperinci Bagaimana untuk menghantar parameter dalam fungsi thinkphp D. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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