1.3 Memahami Model-View-Controller
CakePHP mengikut MVC corak rekabentuk perisian (design pattern). Pengaturcaraan menggunakan MVC bagi memisahkan permohonan anda kepada tiga bahagian utama :
- Model mewakili data penggunaan
- View menyebabkan satu penyampaian bagi memperagakan data
- Controller mengawal dan memesongkan permintaan laluan-laluan dibuat oleh pelanggan
Rajah: 1: Satu Asas Permintaan MVC
Rajah 1 : menunjukkan satu contoh tulang-tulang (bare-bones) permintaan MVC dalam CakePHP. Untuk mengilustrasi, menganggap seorang pelanggan berjudul bernama "Ricardo" mengklik “Buy A Custom Cake Now!” menghubungkan pada aplikasi laman web anda.
- Ricardo klik kepada pautan http://www.example.com/cakes/buy, dan pelayarnya membuat satu permintaan untuk jaringan pelayan anda.
- Penghantar itu memeriksa permintaan URL (/cakes/buy), dan memberi permintaan itu kepada controller yang betul.
- Controller itu menjalankan permohonan logik yang khusus. Sebagai contoh, ia mungkin memeriksa bagi melihat jika Ricardo telah log masuk.
- Controller juga menggunakan model mendapatkan akses kepada data permohonan itu. Model biasanya mewakili pangkalan data mengemukakan, tetapi mereka boleh juga mewakili LDAP catatan, RSS feeds, atau fail - fail pada sistem. Dalam contoh ini, controller akan menggunakan model untuk mengambil pembelian terdahulu Ricardo data pangkalan data.
- Setelah controller menghasilkan magik kepada data, ia menghantar kepada view. View akan mengambil data dan menyediakannya kepada pengguna. Views dalam CakePHp kebiasaannya menggunakan format HTMl, tetapi view juga boleh menghasilkan PDF, dokumen XML atau objek JSON bergantung kepada keperluan anda.
- Setelah view menggunakan data dari controller untuk menghasilkan view, kandungan di dalam view akan dipulangkan kepada pelayar Ricardo.
Hampir semua permintaan aplikasi anda akan mengikut corak asas ini. Kami akan menambah maklumat terperinci kemudian yang lebih spesifik kepada CakePHP, maka sematkan di dalam minda, semasa kita teruskan.ni.
# Faedah
Kenapa gunakan MVC ? Kerana ia adalah corak rekaan perisian cuba jaya yang menukarkan aplikasi menjadi lebih mudah diselenggara, modular dan pakej yang pantas dibangunkan. Menghasilkan satu aplikasi yang dipecahkan kepada models, views dan controllers menjadikan aplikasi anda lebih pantas dan ringan. Ciri-ciri yang baru mudah ditambah, antaramuka baru pada ciri-ciri lama menjadi mudah. Pengasingan rekaan dan modular membenarkan pembangun (perisian) dan pereka (web) bekerja serentak, termasuk kebolehan untuk prototaip pantas. Pengasingan juga membenarkan pembangun untuk membuat perubahan pada satu bahagian aplikasi tanpa memberi kesan kepada yang lain.
Jika anda tidak pernah membangunkan aplikasi dengan cara ini, ia mungkin memerlukan masa untuk membiasakan diri, tetapi kami percaya setelah anda bina aplikasi pertama menggunakan CakePHP, anda tidak akan menggunakannya dengan cara lain.


























