Dalam thinkphp, kaedah M() digunakan untuk membuat instantiat kelas model asas Selepas instantiation, hanya kaedah dalam kelas model asas (default ialah kelas Model) boleh dipanggil Sintaks "M(. '[Nama Model Asas:]Nama model','Awalan jadual data','Maklumat sambungan pangkalan data')".
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi thinkphp v5.1, komputer Dell G3.
Kaedah M digunakan untuk membuat instantiate kelas model asas Perbezaan daripada kaedah D ialah:
Tidak perlu menyesuaikan kelas model, mengurangkan pemuatan IO, dan mempunyai prestasi yang lebih baik ;
hanya boleh memanggil kaedah dalam kelas model asas (lalai ialah kelas Model) selepas instantiasi
boleh dipanggil semasa instantiasi Tentukan awalan jadual, pangkalan data dan maklumat sambungan pangkalan data, tetapi dengan asasnya; model rangka kerja ThinkPHP versi baharu Fungsi kelas menjadi semakin berkuasa, dan kaedah M adalah lebih praktikal daripada kaedah D.
Format panggilan kaedah M:
M('[基础模型名:]模型名','数据表前缀','数据库连接信息')1 model (Model) Kelas
Apabila tiada model ditakrifkan, kita boleh menggunakan kaedah berikut untuk membuat instantiate kelas model untuk operasi:
Kaedah ini adalah yang paling mudah dan paling mudah. cekap, kerana tidak perlu mentakrifkan sebarang kelas model, jadi panggilan merentas projek disokong. 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();sebenarnya bersamaan dengan:
$User = M('User');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');2. Menghasilkan kelas model awam yang lain
Cara pertama untuk membuat instantiat adalah kerana tiada definisi kelas model, jadi sukar untuk merangkum beberapa logik tambahan kaedah, tetapi Dalam kebanyakan kes, anda mungkin hanya perlu melanjutkan beberapa logik biasa, kemudian anda boleh mencuba kaedah berikut.
Penggunaan sebenarnya bersamaan dengan:$User = M('CommonModel:User');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');3. Awalan jadual masuk, pangkalan data dan maklumat lain
Kaedah M mempunyai tiga parameter Parameter pertama ialah nama model (boleh termasuk kelas model asas dan pangkalan data ), parameter kedua 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 ambil sambungan pangkalan data maklumat konfigurasi projek semasa)), sebagai contoh:
bermaksud menghidupkan kelas model Model dan mengendalikan jadual think_user dalam pangkalan data db2. 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:$User = M('db2.User','think_');Mewakili instantiate kelas model Model dan mengendalikan jadual pengguna dalam pangkalan data db1. Jika pangkalan data yang anda kendalikan memerlukan akaun pengguna yang berbeza, anda boleh menghantar maklumat sambungan pangkalan data, contohnya:
$User = M('db1.User',null);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. Parameter maklumat sambungan ketiga boleh menggunakan konfigurasi DSN atau konfigurasi tatasusunan, malah boleh menyokong parameter konfigurasi.
$User = M('User','think_','mysql://user_a:1234@localhost:3306/thinkphp');
Sebagai contoh, jika anda mengkonfigurasi:
dalam fail konfigurasi projek, anda boleh menggunakan:'DB_CONFIG'=>'mysql://user_a:1234@localhost:3306/thinkphp';Kelas model asas dan pangkalan data boleh digunakan bersama-sama, sebagai contoh:
$User = M('User','think_','DB_CONFIG');Jika anda ingin membuat instantiate model hierarki, menggunakan kelas model awam, kita boleh menggunakan:
$User = M('CommonModel:db2.User','think_');untuk membuat instantiate UserLogic, walaupun ini tidak sangat masuk akal. Kerana anda boleh menggunakan
M('UserLogic:User');untuk mencapai fungsi yang sama. [Cadangan tutorial berkaitan:
D('User','Logic');rangka kerja thinkphp
]
Atas ialah kandungan terperinci Bagaimana untuk menggunakan kaedah m thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
