Dengan perkembangan teknologi Internet yang berterusan, semakin banyak laman web dan aplikasi menggunakan corak MVC sebagai rangka kerja reka bentuk Antaranya, rangka kerja PHP yang diwakili oleh ThinkPHP adalah salah satu corak MVC yang lebih popular. Dalam rangka kerja ThinkPHP, modul merupakan konsep yang sangat penting Modul boleh digunakan untuk membahagikan aplikasi kepada modul berfungsi yang berbeza untuk pengurusan dan penyelenggaraan yang mudah. Tetapi pemula mungkin menghadapi masalah, iaitu, cara mengikat modul Di bawah kami akan memperkenalkan secara terperinci bagaimana ThinkPHP mengikat modul.
1 Buat modul
Sebelum kita mula mengikat modul, mari buat modul dahulu. Mengambil contoh mencipta modul bernama Blog, kita perlu mencipta direktori bernama Blog dalam direktori aplikasi rangka kerja ThinkPHP, dan kemudian mencipta pengawal bernama Index dan pengawal bernama index.html dalam fail Templat Blog. Operasi khusus adalah seperti berikut:
Contoh kod:
Fail pengawal IndexController.class.php:
<?php namespace BlogController; use ThinkController; class IndexController extends Controller { public function index(){ $this->display(); } }
Fail templat index.html:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Blog</title> </head> <body> <h1>Welcome to my blog!</h1> </body> </html>
2. Binding Define modul
Selepas mencipta modul Blog, kita perlu mengikatnya pada aplikasi supaya sistem mengetahui modul mana yang patut diakses adalah seperti berikut:
Contoh kod:
fail config.php:
<?php return array( 'DEFAULT_MODULE' => 'Blog', // 默认模块名 ... );
Selepas mengubah suai fail konfigurasi, anda boleh mengakses modul Blog melalui URL berikut:
http://yourdomain/Blog
3 Sub-modul yang mengikat
Kadangkala, kita perlu membahagikan modul kepada berbilang sub-modul. kita boleh menambah artikel Halaman senarai dan butiran artikel dibuat sebagai sub-modul yang berbeza. Operasi khusus adalah seperti berikut:
Fail pengawal Artikel/IndexController.class.php:
<?php namespace BlogControllerArticle; use ThinkController; class IndexController extends Controller { public function index(){ $this->display(); } }
Fail pengawal Artikel/DetailsController.class.php:
<?php namespace BlogControllerArticle; use ThinkController; class DetailsController extends Controller { public function index(){ $this->display(); } }
Fail templat Artikel/senarai .html :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Article List</title> </head> <body> <h1>Article List</h1> </body> </html>
Fail templat Artikel/index.html:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Article Details</title> </head> <body> <h1>Article Details</h1> </body> </html>
Contoh kod:
fail config.php:
<?php return array( 'DEFAULT_MODULE' => 'Blog', // 默认模块名 'URL_CASE_INSENSITIVE' => true, // URL不区分大小写 'MODULE_ALLOW_LIST' => array('Blog','Blog/Article'), // 允许访问的模块 ... );
Selepas mengubah suai fail konfigurasi, anda boleh mengakses sub-modul Artikel melalui URL berikut:
http://yourdomain/Blog/Article/index
http://yourdomain/Blog/Article/details
Apa yang anda perlu beri perhatian semasa mengikat submodul ialah bahawa pengawal dan fail templat Ia mesti disimpan dalam cara pengelompokan, dan awalan kumpulan perlu ditambah pada nama kelas pengawal Contohnya, dalam contoh ini, ruang nama kelas pengawal ialah BlogControllerArticle. Pada masa yang sama, fail konfigurasi perlu mengehadkan modul yang dibenarkan akses kepada modul induk dan modul anak.
4. Ringkasan
Modul pengikatan ialah pautan yang sangat penting dalam model ThinkPHP MVC Melalui modul pengikatan, aplikasi boleh dibahagikan kepada beberapa modul berfungsi, dan logik kod dan The susun atur diasingkan untuk pengurusan dan penyelenggaraan yang mudah. Artikel ini menyediakan pengenalan terperinci tentang cara ThinkPHP mengikat modul, daripada membuat modul, mengikat modul kepada sub-modul yang mengikat saya harap ia akan membantu pemula.
Atas ialah kandungan terperinci Bagaimana thinkphp mengikat modul. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!