ThinkPHP ialah rangka kerja pembangunan PHP yang sangat baik Ia mempunyai keperluan yang sama sekali berbeza untuk pembangunan WEB, ThinkPHP menyediakan satu demi satu fungsi praktikal juga merupakan salah satu ciri yang tidak boleh terlepas oleh pembangun yang menggunakan berbilang sistem dalam pangkalan data yang sama.
1. Mengapa menggunakan berbilang sistem dalam pangkalan data yang sama
Dalam pembangunan WEB sebenar, anda biasanya menghadapi situasi di mana anda perlu menyepadukan berbilang sistem dalam aplikasi Web yang sama sistem mungkin melibatkan bidang perniagaan yang berbeza. Jika semua sistem diintegrasikan ke dalam satu aplikasi, ia bukan sahaja sukar untuk dibangunkan, tetapi juga amat mudah untuk menyebabkan kekeliruan kod, dan juga boleh menyebabkan kebuntuan VIP. Akibatnya, untuk memastikan pembangunan yang mudah dan cekap, kami perlu menggunakan berbilang sistem dalam pangkalan data yang sama.
2. Pembangunan modular ThinkPHP
ThinkPHP direka bentuk dengan seni bina MVC untuk menyelesaikan masalah kami di atas dengan lebih baik, kami boleh menggunakan idea pembangunan modular. Apa yang dipanggil modularisasi adalah untuk memisahkan aplikasi besar kepada beberapa modul bebas Semasa proses reka bentuk modul, kita boleh melengkapkan modul yang berbeza dengan awalan jadual pangkalan data yang berbeza untuk mengelakkan konflik antara nama jadual.
3. Ciri fungsi modular ThinkPHP
ThinkPHP menyediakan satu siri aplikasi seperti lapisan paparan, lapisan kawalan dan lapisan model dalam proses pembangunan modular, khususnya, fungsi lapisan kawalan Biarkan berbilang modul berinteraksi antara satu sama lain, memanggil satu sama lain, menyelesaikan operasi dengan cekap dan membina aplikasi terakhir kami. Lapisan kawalan adalah bahagian penting yang disambungkan antara lapisan logik perniagaan dan lapisan pandangan dalam seni bina MVC Ia boleh dikatakan seperti ikan di dalam air. Sudah tentu, di atas tahap di atas, terdapat juga dua fungsi praktikal penghalaan dan caching ThinkPHP yang direka khas untuk pengoptimuman kod.
4.Tetapan awalan jadual ThinkPHP untuk modul berbeza
Untuk tetapan awalan jadual modul berbeza dalam pangkalan data yang sama, kami hanya perlu menambah 'Awalan MODUL'_TABLE_PREFIX pada fail konfigurasi yang sepadan dalam modul Pembolehubah tatasusunan global dan tambahkannya pada tatasusunan yang dikonfigurasikan dalam pangkalan data.
$reslist=M('Subdirectory name/Test')->select();
Fungsi M('') ialah nama modul dalam model dan bahagian kedua of M Parameter pertama ialah nama pengawal dalam modul Kaedah pilih() digunakan untuk menanyakan data, dan parameter tidak perlu dihantar 2. Penyelesaian
Kod contoh adalah seperti berikut:
$config=array (
'DB_TYPE'=>'mysql', 'DB_HOST'=>'localhost', 'DB_USER'=>'root', 'DB_PWD'=>'', 'DB_PORT'=>3306, 'DB_NAME'=>'test2333', 'DB_PREFIX'=>'nov_', 'MODULE_ALLOW_LIST' => array('Home', 'Admin'), 'DEFAULT_MODULE' => 'Home', 'SESSION_PREFIX' => 'api_', 'LOG_RECORD'=>false, 'LOG_TYPE'=> 'Db', 'LOAD_EXT_CONFIG' => 'extconfig',
);
Jika anda perlu mengkonfigurasi modul bernama "Test" dan menetapkan awalan jadual untuk modul, kami boleh tambah yang berikut dalam fail konfigurasi Pembolehubah tatasusunan global:
'MODULE_TEST_TABLE_PREFIX' => 'tb_'
Dengan cara ini, apabila menggunakan "$this->M('Test/TBid' )->select( );"Dalam panggilan kod sedemikian, ThinkPHP boleh membezakan jadual pangkalan data yang berbeza berdasarkan awalan.
Atas ialah kandungan terperinci Bolehkah thinkphp membezakan jadual data yang berbeza berdasarkan awalan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!