Tutorial OOP PHP Bagian 18 Part 1 – MVC

Pada pemrograman PHP tradisional, biasanya semua kode dijadikan satu, apakah layout, frontend, atau backend. Ini disebut juga spagetti code. Spagetti code menyebabkan sulitnya aplikasi dikembangkan karena setiap programmer memiliki gaya masing-masing sehingga untuk troubleshoot dan scalability sulit dilakukan.

Pemrograman PHP modern saat ini menggunakan konsep MVC (Model-View-Controller) untuk mengatasi hasil di atas. Model berhubungan dengan pengolahan data, View untuk menampilkan data, dan Controller untuk logika atau alur program.

Kita akan melihat proses MVC diawali dengan pembuatan spaghetti code untuk menampilkan anggota. Sebelumnya buatlah database db_oopmvc dan tabel anggota.

Tutorial OOP PHP MVC

Spaghetti Code :

tutorial oop php mvc

Meskipun bisa berfungsi, kode di atas sulit untuk di maintenance dan sulit di kembangkan. Karena itu kita akan memisahkan sesuai dengan fungsinya:

Memisahkan Presentation

Pisahkan kode untuk mendapatkan dan menampilkan data.

Ubah index.php

Tambahkan file list.php di dalam folder view/anggota.

Hasilnya akan sama dengan kode sebelumnya.

Memisahkan Domain Logic

Selanjutnya kita perlu memisahkan kode untuk mendapatkan data (Model) dengan kode alur aplikasi (Controller).

Ubah index.php menjadi :

Tambahkan anggota_model.php di dalam folder model/anggota

Jika dijalankan sudah sama dan sudah dibagi menjadi Model, View, Controller. Namun ini adalah MVC yang paling mendasar.

Memisahkan Layout

Kita bisa memisahkan lagi view untuk menampilkan data dan file template yang akan digunakan sebagai pengatur layout utama. Di dalam file layout kita akan memanggil view untuk menampilkan data.

Buat file oopmvc/file/template.php sebagai file master template untuk mengatur layout utama.

list.php diubah menjadi :

Jika dijalankan hasilnya tetap akan sama.

Menambahkan Detail Page

Kita akan membuat halaman detail ketika nama di klik.

Buat file oopmvc/detail.php sebagai controller halaman detail.

Tambahkan fungsi getAnggotaById() di anggota_model.php. Fungsi ini untuk mengambil data berdasarkan id anggota.

Buat file oopmvc/view/anggota/detail.php

Coba klik salah satu nama anggota.

Tutorial OOP PHP MVC

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.