Big d dalam thinkphp ialah kaedah terbina dalam yang digunakan untuk membuat instantiate kelas model tersuai Ia merupakan enkapsulasi instantiasi kelas Model oleh rangka kerja ThinkPHP Format panggilan kaedah D ialah "D('[. projek ://][Kumpulan/]Model','Nama lapisan model')".
Persekitaran pengendalian artikel ini: sistem Windows 7, ThinkPHP versi 5.0, komputer Dell G3.
Penjelasan terperinci tentang fungsi ThinkPHP: Kaedah D
Kaedah D:
Kaedah D harus digunakan lebih banyak kaedah selalunya, digunakan untuk membuat instantiate kelas model tersuai, ialah enkapsulasi instantiasi kelas Model oleh rangka kerja ThinkPHP, dan melaksanakan mod tunggal, menyokong panggilan merentas projek dan kumpulan Format panggilan adalah seperti berikut:
D('[项目://][分组/]模型','模型层名称')
ialah objek model instantiated.
Kaedah D boleh mengesan kelas model secara automatik Jika kelas model tersuai wujud, kelas model tersuai akan dijadikan instantiated model yang sudah dibuat instantiated , tidak akan instantiated berulang kali. Penggunaan kaedah
D yang paling biasa ialah untuk membuat model tersuai bagi projek semasa Contohnya:
// 实例化User模型 $User = D('User');
akan mengimport Lib/Model/UserModel.class.php di bawah. projek semasa, dan kemudian nyatakan kelas UserModel, jadi kod sebenar mungkin bersamaan dengan yang berikut:
import('@.Model.UserModel'); $User = new UserModel();
Tetapi jika anda menggunakan kaedah D, jika kelas UserModel tidak wujud, ia akan secara automatik memanggil
new Model('User');
Dan tidak perlu membuat instantiat lagi apabila dipanggil untuk kali kedua, yang boleh mengurangkan jumlah tertentu overhed instantiasi objek.
Kaedah D boleh menyokong model instantiating merentas kumpulan dan projek, contohnya:
//实例化Admin项目的User模型 D('Admin://User') //实例化Admin分组的User模型 D('Admin/User')
Nota: Untuk melaksanakan model panggilan merentas projek, anda mesti memastikan bahawa struktur direktori kedua-dua projek adalah selari.
Bermula dari versi 3.1, disebabkan sokongan tambahan untuk model hierarki, kaedah D juga boleh membuat model lain, contohnya:
// 实例化UserService类 $User = D('User','Service'); // 实例化UserLogic类 $User = D('User','Logic');
D('User','Service');
akan mengimport Lib/Service/ UserService.class.php, dan instantiated, adalah bersamaan dengan kod berikut:
import('@.Service.UserService'); $User = new UserSerivce();
Disyorkan: "10 tutorial video thinkphp terkini"
Atas ialah kandungan terperinci fikirphp apa yang besar d. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!