Thursday, 18 July 2013

CakePHP dan pengertian MVC


CakePHP adalah sebuah PHP framework open source yang berarti lisensinya gratis. CakePHP merupakan struktur dasar untuk programmer dalam mengembangkan web applications. Tujuan utamanya adalah membantu mengembangkan aplikasi dengan cepat tanpa kehilangagn fleksibelitas. Beberapa fitur dalam CakePHP:
  1. Active, dengan adanya komunitas
  2. Flexible licensing
  3. Compatible dengan PHP versi PHP 5.2.8 atau di atasnya
  4. Mendukung CRUD (Create,Update,Delete) untuk berinteraksi dengan database
  5. Application scaffolding
  6. Code Generation
  7. MVC (Model, View, Controller) Architecture.
  8. Request Dispatcher with clean, Custom URLs and Route.
  9. Built-in validation
  10. Template Cepat dan flexible dengan dibantu helpers
  11. View helpers for AJAX, JavaScript, form HTML dan lainnya
  12. Email, Cookie, Security, Session, dan Components untuk Request Handling
  13. Flexible ACL (Access Control List)
  14. Data sanitization
  15. Flexible Caching
  16. Localization
Dan ada banyak lainnya yang bisa kamu kembangkan.

          Dalam menggunakan cakePHP (yang juga merupakan PHP framework) yang wajib untuk dipahami adalah tentang MVC (Model, View, Controller) berikut penjelasan Masing-masing bagian:

Model
              Model merepresentasikan bagian logika bisnis dalam aplikasi yang dikembangkan. Model bertanggung jawab untuk mendapatkan data dan mengkonversinya sesuai dengan konsep aplikasi seperti processing, validating, associating dan lain-lain.
Sekilas object Model dapat dilihat pada interaksi layer pertama dengan database yang digunakan aplikasi. Tetapi pada umumnya Model bertindak untuk konsep utama yang diimplementasikan pada aplikasi.
           Sebagai contoh kasus pada sebuah social network, Model layer akan menangani tugas seperti menyimpan data user, menyimpan friends associations, storing and retrieving user photos, menemukan new friends dll. Jadi object pada Model adalah Friend, User, Comment atau Photo.

View
        View menampilkan data yang telah di tangani oleh Model.  Data yang telah dipisah-pisah atau diklasifikasikan oleh objek Model (seperti contoh diatas adalah Friend, User) akan digunakan untuk menampilkan informasi berupa interface yang dibutuhkan.
         Sebagai contoh,  Model data yang telah mengolah data akan memberikan data kepada View untuk ditampilkan pada halaman HTML atau berupa format XML yang akan diberikan pada user.
View layer tidak terbatas pada HTML atau text data (XML), tetapi dapat digunakan untuk mengirim/menampilkan banyak macam format yang dibutuhkan seperti video, music, documents dan format lainnya.

Controller
         Controller menangani request dari users. Controller bertanggungjawab untuk memberikan/menyampaikan kembali dengan bantuan atau diantara Model dan View.
Controller dapat berfungsi sebagai pengatur semua resources yang dibutuhkan untuk melengkapi sebuah task/tugas yang diserahkan kepada ‘workers’ yang tepat. Controller menunggu permintaan dari clients/user, mengecek validasi yang sesuai dengan rule autentikasi atau autorisasi. Menyerahkan data yang telah didapat atau memproses ke Model, dan memilih tipe tampilan data yang akan diterima oleh client/user. Tahapan terakhir adalah menyerahkan proses tampilan kepada View. Berikut  gambar perputaran request pada CakePHP:

No comments :

Post a Comment