Rumah >rangka kerja php >ThinkPHP >Apakah lapisan MVC dalam thinkphp5

Apakah lapisan MVC dalam thinkphp5

WBOY
WBOYasal
2022-03-07 10:31:595676semak imbas

Dalam thinkphp5, lapisan MVC merujuk kepada pembahagian kerja dan kerjasama antara lapisan model, lapisan pandangan dan lapisan pengawal Lapisan logik dan lapisan pembentangan melakukan operasi yang berasingan, dan lapisan model bertanggungjawab untuk operasi pangkalan data pengawal ialah kelas modul, dijadualkan dan dikendalikan mengikut URL, dan paparan digunakan untuk menyambung pengawal tindakan dan fail templat.

Apakah lapisan MVC dalam thinkphp5

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

Apakah lapisan MVC dalam thinkphp5

MVC, model M, paparan V, pengawal C.

Lapisan bermaksud pembahagian kerja dan kerjasama, dengan lapisan logik dan lapisan pembentangan beroperasi secara berasingan. Model ini bertanggungjawab untuk: operasi pangkalan data. Pengawal: Sebarang operasi WEB ialah operasi modul Pengawal ialah kelas modul yang menjadualkan dan beroperasi mengikut URL. Lihat (terdiri daripada kelas paparan dan fail templat): menghubungkan pengawal tindakan dan fail templat Kelas tindakan menghantar data ke fail templat melalui kelas Lihat, dan fail templat menukar data yang diterima ke dalam format data yang sepadan untuk paparan. .

ThinkPHP adalah berdasarkan corak MVC (Model-View-Controller, Model-View-Controller) dan menyokong reka bentuk berbilang lapisan (berbilang Lapisan).

Lapisan model

Lapisan model lalai terdiri daripada kelas Model Walau bagaimanapun, apabila projek berkembang dan sistem perniagaan menjadi lebih kompleks, adalah sukar untuk satu lapisan model untuk memenuhi Keperluan pelbagai lapisan Idea reka bentuk sokongan Model adalah sangat mudah Lapisan model yang berbeza masih diwarisi daripada kelas Model sistem, tetapi ia dibezakan dalam struktur direktori dan konvensyen penamaan.

Sebagai contoh, dalam reka bentuk projek tertentu, kita perlu membezakan antara lapisan model yang berbeza seperti lapisan data, lapisan logik dan lapisan perkhidmatan Kita boleh mencipta direktori model, logik dan perkhidmatan di bawah modul direktori untuk menyimpan semua model dalam jadual pengguna Operasi dibahagikan kepada tiga lapisan:

Lapisan data: model/Pengguna digunakan untuk mentakrifkan pengesahan automatik berkaitan data dan penyiapan automatik dan antara muka akses data

<.>Lapisan logik: logik/Pengguna digunakan untuk mentakrifkan logik Perniagaan berkaitan pengguna

Lapisan perkhidmatan: perkhidmatan/Pengguna digunakan untuk mentakrif antara muka perkhidmatan berkaitan pengguna, dsb.

Dan ketiga-tiga ini kelas operasi model semuanya boleh mewarisi kelas thinkModel.

Pembahagian hierarki lapisan model adalah sangat fleksibel Pembangun boleh bebas menentukan dan menambah hierarki model mengikut keperluan projek. Anda juga boleh menggunakan lapisan Model.

Lapisan paparan

Lapisan paparan terdiri daripada templat dan kod templat boleh digunakan secara langsung dalam templat Reka bentuk enjin templat akan diterangkan kemudian berfungsi melalui enjin templat pihak ketiga. Paparan berbilang lapisan boleh dibezakan secara ringkas dengan direktori, contohnya:

view/default/user/add.html
view/blue/user/add.html
Paparan berbilang lapisan yang lebih kompleks boleh dilaksanakan selanjutnya dengan menggunakan direktori paparan yang berbeza, contohnya:

lihat Biasa direktori lapisan lihat

Direktori lapisan paparan akses mudah alih

Lapisan pengawal

Lapisan pengawal ThinkPHP terdiri daripada pengawal teras dan pengawal perniagaan dilengkapkan oleh kelas App dalam sistem dan bertanggungjawab untuk kawalan penjadualan aplikasi (termasuk modul, pengawal dan operasi), termasuk pemintasan dan pemajuan permintaan HTTP, konfigurasi pemuatan, dsb. Pengawal perniagaan dilengkapkan oleh kelas pengawal yang ditentukan pengguna. Prinsip pelaksanaan pengawal perniagaan berbilang lapisan adalah serupa dengan pelapisan model, seperti pengawal perniagaan dan pengawal acara:

controller/User //用于用户的业务逻辑控制和调度
event/User //用于用户的事件响应操作
pengguna pengawal bertanggungjawab untuk tindak balas interaksi luaran dan bertindak balas melalui permintaan URL, seperti http ://serverName /User/index, dan eventUser bertanggungjawab untuk tindak balas acara dalaman dan hanya boleh dipanggil secara dalaman, jadi ia diasingkan dari luar. Pembahagian pengawal berbilang lapisan tidak wajib dan boleh dilapis secara bebas mengikut keperluan aplikasi. Dalam lapisan pengawal, anda boleh memanggil model berlapis mengikut keperluan, atau anda boleh memanggil paparan berlapis yang berbeza.

Pembelajaran yang disyorkan: "

Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah lapisan MVC dalam thinkphp5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Apakah maksud eq dalam thinkphpArtikel seterusnya:Apakah maksud eq dalam thinkphp