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);".
Persekitaran pengendalian artikel ini: sistem Windows 10, versi ThinkPHP5, komputer Dell G3.
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('[基础模型名:]模型名','数据表前缀','数据库连接信息')
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();
$User = M('User');
$User = new Model('User');
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');
$User = new CommonModel('User');
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_');
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);
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');
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';
$User = M('User','think_','DB_CONFIG');
$User = M('CommonModel:db2.User','think_');
M('UserLogic:User');
D('User','Logic');
Pembelajaran yang disyorkan: "
Tutorial Video PHPAtas ialah kandungan terperinci Bagaimana untuk menggunakan kaedah m dalam thinkphp5.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!