Rumah > rangka kerja php > ThinkPHP > Bagaimana untuk menggunakan kaedah m dalam thinkphp5.0

Bagaimana untuk menggunakan kaedah m dalam thinkphp5.0

WBOY
Lepaskan: 2022-02-15 14:39:57
asal
2707 orang telah melayarinya

Dalam thinkphp, kaedah m digunakan untuk membuat instantiat kelas model asas Kaedah m secara dinamik menjadikan objek Model dengan langsung menggunakan kaedah Model, walaupun fail Model yang sepadan Ia adalah ". $User=M (nama model, awalan jadual data, maklumat sambungan pangkalan data yang sedang digunakan);".

Bagaimana untuk menggunakan kaedah m dalam thinkphp5.0

Persekitaran pengendalian artikel ini: sistem Windows 10, versi ThinkPHP5, komputer Dell G3.

Cara menggunakan kaedah m dalam thinkphp5.0

Kaedah M digunakan untuk membuat instantiate kelas model asas Perbezaan daripada kaedah D ialah:

1. Tiada penyesuaian diperlukan Kelas model mengurangkan pemuatan IO dan mempunyai prestasi yang lebih baik

2 Hanya kaedah dalam kelas model asas (lalai ialah kelas Model) boleh dipanggil selepas instantiasi; Boleh dijadikan instantiated Apabila menentukan awalan jadual, pangkalan data dan maklumat sambungan pangkalan data; kuasa kaedah

D ditunjukkan dalam betapa kuatnya kelas model tersuai yang anda rangkumkan, sebagai fungsi kelas model asas daripada rangka kerja ThinkPHP versi baharu menjadi lebih dan lebih berkuasa, Ia menjadi lebih dan lebih berkuasa, dan kaedah M adalah lebih dan lebih praktikal daripada kaedah D.

Format panggilan kaedah M:

Mari kita lihat kegunaan khusus kaedah M:
M('[基础模型名:]模型名','数据表前缀','数据库连接信息')
Salin selepas log masuk

1 ) class

Apabila tiada model ditakrifkan, kita boleh menggunakan kaedah berikut untuk membuat instantiate kelas model untuk operasi:

Kaedah ini adalah yang paling mudah dan paling berkesan kerana tidak perlu untuk menentukan mana-mana model, jadi ia menyokong panggilan merentas projek. Kelemahannya juga ialah tiada kelas model tersuai, jadi logik perniagaan yang berkaitan tidak boleh ditulis dan hanya operasi CURD asas boleh diselesaikan.
//实例化User模型
$User = M('User');
//执行其他的数据操作
$User->select();
Salin selepas log masuk

sebenarnya bersamaan dengan:
$User = M('User');
Salin selepas log masuk

bermaksud mengendalikan jadual think_user. Kaedah M juga mempunyai fungsi tunggal seperti kaedah D, dan ia tidak akan digunakan berulang kali jika dipanggil beberapa kali. Parameter nama model kaedah M akan ditukar secara automatik kepada huruf kecil apabila ditukar kepada jadual data, yang bermaksud bahawa spesifikasi penamaan jadual data ThinkPHP adalah dalam semua format huruf kecil.
$User = new Model('User');
Salin selepas log masuk

2. Menghidupkan kelas model awam yang lain

Cara pertama untuk membuat instantiat adalah kerana tiada definisi kelas model, jadi sukar untuk merangkum beberapa kaedah logik tambahan, tetapi dalam kebanyakan kes , mungkin Jika anda hanya perlu melanjutkan beberapa logik umum, anda boleh mencuba kaedah berikut.

Penggunaan sebenarnya bersamaan dengan:
$User = M('CommonModel:User');
Salin selepas log masuk

Oleh kerana kelas model sistem boleh dimuatkan secara automatik, kami tidak perlu mengimport perpustakaan kelas secara manual sebelum instantiasi. Kelas model CommonModel mesti mewarisi Model. Kami boleh menentukan beberapa kaedah logik biasa dalam kelas CommonModel, yang menghapuskan keperluan untuk menentukan kelas model tertentu untuk setiap jadual data Jika projek anda sudah mempunyai lebih daripada 100 jadual data, kebanyakannya adalah asas Untuk operasi CURD, hanya beberapa model yang mempunyai. beberapa logik perniagaan yang kompleks yang perlu dirangkumkan, jadi gabungan kaedah pertama dan kaedah kedua adalah pilihan yang baik.
$User = new CommonModel('User');
Salin selepas log masuk

3. Lulus dalam awalan jadual, pangkalan data dan maklumat lain

Kaedah M mempunyai tiga parameter Parameter pertama ialah nama model (boleh termasuk kelas model asas dan pangkalan data), dan yang kedua parameter Digunakan untuk menetapkan awalan jadual data (biarkan kosong untuk mengambil awalan jadual konfigurasi projek semasa), dan parameter ketiga digunakan untuk menetapkan maklumat sambungan pangkalan data yang sedang digunakan (biarkan kosong untuk mengambil maklumat sambungan pangkalan data daripada konfigurasi projek semasa), sebagai contoh:

bermaksud menghidupkan kelas model Model dan mengendalikan jadual think_user dalam pangkalan data db2.
$User = M('db2.User','think_');
Salin selepas log masuk

Jika parameter kedua dibiarkan kosong atau tidak diluluskan, ini bermakna menggunakan awalan jadual data dalam konfigurasi projek semasa Jika jadual data yang dikendalikan tidak mempunyai awalan jadual, anda boleh menggunakan:

Mewakili instantiate kelas model Model dan mengendalikan jadual pengguna dalam pangkalan data db1.
$User = M('db1.User',null);
Salin selepas log masuk

Jika pangkalan data yang anda kendalikan memerlukan akaun pengguna yang berbeza, anda boleh menghantar maklumat sambungan pangkalan data, contohnya:

mewakili kelas model asas menggunakan Model, dan kemudian beroperasi pada jadual think_user, Gunakan akaun user_a untuk menyambung ke pangkalan data, dan pangkalan data operasi ialah thinkphp.
$User = M('User','think_','mysql://user_a:1234@localhost:3306/thinkphp');
Salin selepas log masuk

Parameter maklumat sambungan ketiga boleh menggunakan konfigurasi DSN atau konfigurasi tatasusunan, malah boleh menyokong parameter konfigurasi.

Sebagai contoh, jika anda mengkonfigurasi:

dalam fail konfigurasi projek, anda boleh menggunakan:
'DB_CONFIG'=>'mysql://user_a:1234@localhost:3306/thinkphp';
Salin selepas log masuk

Kelas model asas dan pangkalan data boleh digunakan bersama-sama, sebagai contoh:
$User = M('User','think_','DB_CONFIG');
Salin selepas log masuk

Jika anda ingin membuat instantiate model hierarki, menggunakan kelas model awam, kita boleh menggunakan:
$User = M('CommonModel:db2.User','think_');
Salin selepas log masuk

untuk membuat instantiate UserLogic, walaupun ini tidak sangat masuk akal. Kerana anda boleh menggunakan
M('UserLogic:User');
Salin selepas log masuk

untuk mencapai fungsi yang sama.
D('User','Logic');
Salin selepas log masuk

Pembelajaran yang disyorkan: "

Tutorial Video PHP

"

Atas ialah kandungan terperinci Bagaimana untuk menggunakan kaedah m dalam thinkphp5.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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