Welcome to the Cookbook

loading...

1.3 Memahami Model-View-Controller

The original text for this section has changed since it was translated. Please help resolve this difference. You can:

More information about translations

CakePHP mengikuti pola desain MVC. Memprogram menggunakan MVC memisahkan aplikasi menjadi tiga bagian utama:

  1. Model yang merepresentasikan data aplikasi
  2. View yang menyajikan presentasi data dari model
  3. Controller yang menangani dan mengalihkan request dari klien
Figure 1

Gambar 1: Bentuk dasar request MVC

Gambar 1 menunjukkan sebuah contoh dari kerangka request MVC dalam CakePHP. Untuk mengilustrasikan, asumsikan seorang klien bernama Joko telah mengklik taut "Beli buku ini sekarang!" di halaman beranda (home) aplikasi Anda.

  • Joko mengklik taut yang merujuk ke http://www.example.com/buku/beli dan peraba (browser) yang digunakannya akan membuat request ke web server Anda.
  • Dispatcher mengecek URL request (/buku/beli), dan mengarahkan request tersebut ke controller yang sesuai.
  • Controller mengeksekusi logik aplikasi. Misalnya, controller mengecek apakah Joko telah login.
  • Controller juga menggunakan model untuk memperoleh data dari aplikasi. Model umumnya merepresentasikan tabel database, tapi model dapat juga merepresentasikan entri LDAP, RSS feeds, atau file pada sistem. Dalam contoh ini, controller menggunakan model untuk mengambil data pembelian terakhir si Joko dari database.
  • Setelah memproses data, controller memberikan hasilnya ke view. View mengambil data akhir dan menyiapkannya untuk ditampilkan ke klien. View dalam CakePHP umumnya berupa format HTML, tapi view dapat juga berupa PDF, dokumen XML, atau JSON object (tergantung kebutuhan Anda).
  • Saat view selesai menggunakan data yang diberikan controller untuk menghasilkan tampilan, isi dari view tersebut akan dikembalikan ke peraba si Joko.

hampir setiap request ke aplikasi mengikuti pola ini. Kami akan menambahkan detail lainnya pada halaman selanjutnya, yang mana khusus berhubungan dengan CakePHP, jadi ingat hal ini baik-baik sebelum berlanjut ke halaman selanjutnya.

# Keuntungan

Kenapa menggunakan MVC? Karena MVC merupakan pola desain perangkat lunak yang tepat dan teruji, yang membuat aplikasi menjadi terjaga, modular, dan berkembang cepat. Mendesain bagian aplikasi menjadi Model, View dan Controller membuat aplikasi lebih kokoh. Fitur baru dapat dengan mudah ditambahkan, dan tampilan baru pada fitur lama merupakan sebuah cuplikan. Desain yang terpisah dan modular membuat pengembang dan desainer dapat bekerja secara serempak, termasuk mempercepat proses prototyping. Pemisahan dengan MVC juga membuat pengembang leluasa melakukan perubahan di suatu bagian tanpa mempengaruhi bagian lainnya.

Jika Anda belum pernah membuat aplikasi dengan cara seperti ini, maka perlu sedikit waktu untuk membiasakannya, tapi kami yakin setelah Anda membuat aplikasi menggunakan CakePHP, Anda tidak akan mau membangun aplikasi dengan cara lain.