Halo Sobat Sederhana! Pada artikel kali ini kita akan membahas tentang bagaimana cara membuat framework MVC PHP sederhana. Sebelum kita mulai, sudahkah Sobat Sederhana memahami apa itu MVC?
Pengertian MVC
Model-View-Controller (MVC) adalah sebuah arsitektur perangkat lunak yang memisahkan antara representasi informasi dari interaksi pengguna. Arsitektur ini membagi aplikasi menjadi tiga komponen yaitu:
- Model, yaitu komponen yang merepresentasikan data dan operasi data
- View, yaitu komponen yang menampilkan data ke pengguna
- Controller, yaitu komponen yang mengatur input dari pengguna dan mengubah model serta view
Dalam aplikasi MVC, setiap komponen memiliki peran yang jelas dan saling terpisah. Model bertanggung jawab untuk mengatur data dan operasi data, View bertanggung jawab untuk menampilkan data ke pengguna, dan Controller bertanggung jawab untuk mengatur input dari pengguna serta mengubah model dan view.
Membuat Struktur Framework MVC
Sebelum kita mulai membuat framework MVC, kita perlu membuat struktur folder terlebih dahulu. Berikut adalah struktur folder yang akan kita gunakan:
Folder |
Keterangan |
---|---|
app |
Folder untuk menyimpan model, view, dan controller |
public |
Folder untuk menyimpan file-file publik seperti CSS, Javascript, dan gambar |
system |
Folder untuk menyimpan file-file sistem seperti konfigurasi, library, dan helper |
Folder app
Folder app akan digunakan untuk menyimpan model, view, dan controller. Dalam folder app, kita perlu membuat subfolder untuk masing-masing komponen MVC. Sebagai contoh:
- app- controllers- models- views
Pada folder controllers, kita akan menyimpan file-file controller. Pada folder models, kita akan menyimpan file-file model. Dan pada folder views, kita akan menyimpan file-file view.
Folder public
Folder public akan digunakan untuk menyimpan file-file publik seperti CSS, Javascript, dan gambar. Berikut adalah struktur folder dalam folder public:
- public- css- js- img
Pada folder css, kita akan menyimpan file-file CSS. Pada folder js, kita akan menyimpan file-file Javascript. Dan pada folder img, kita akan menyimpan file-file gambar.
Folder system
Folder system akan digunakan untuk menyimpan file-file sistem seperti konfigurasi, library, dan helper. Berikut adalah struktur folder dalam folder system:
- system- config- libraries- helpers
Pada folder config, kita akan menyimpan file-file konfigurasi. Pada folder libraries, kita akan menyimpan file-file library. Dan pada folder helpers, kita akan menyimpan file-file helper.
Membuat File Konfigurasi
Selanjutnya, kita perlu membuat file konfigurasi untuk koneksi database, autoload library dan helper, serta beberapa konfigurasi lainnya. Berikut adalah struktur file konfigurasi:
- system- config- database.php- autoload.php- config.php
Pada file database.php, kita akan mengatur koneksi database. Pada file autoload.php, kita akan mengatur library dan helper yang akan di-load secara otonom. Dan pada file config.php, kita akan mengatur konfigurasi umum seperti base URL dan time zone.
Membuat File Library
Selanjutnya, kita perlu membuat file library untuk mengatur fungsi-fungsi yang sering digunakan dalam pembuatan aplikasi. Berikut adalah struktur file library:
- system- libraries- Database.php- Session.php- Input.php- File.php
Pada file Database.php, kita akan membuat class untuk mengatur koneksi database. Pada file Session.php, kita akan membuat class untuk mengatur session. Pada file Input.php, kita akan membuat class untuk mengatur input dari pengguna. Dan pada file File.php, kita akan membuat class untuk mengatur file.
Membuat File Helper
Selanjutnya, kita perlu membuat file helper untuk mengatur fungsi-fungsi yang sering digunakan dalam pembuatan aplikasi. Berikut adalah struktur file helper:
- system- helpers- url_helper.php- form_helper.php- file_helper.php
Pada file url_helper.php, kita akan membuat fungsi-fungsi untuk mengatur URL. Pada file form_helper.php, kita akan membuat fungsi-fungsi untuk mengatur form. Dan pada file file_helper.php, kita akan membuat fungsi-fungsi untuk mengatur file.
Membuat File Controller
Selanjutnya, kita perlu membuat file controller untuk mengatur logika bisnis aplikasi. Berikut adalah struktur file controller:
- app- controllers- Home.php- User.php
Pada file Home.php, kita akan membuat class untuk mengatur halaman depan aplikasi. Pada file User.php, kita akan membuat class untuk mengatur halaman pengguna.
Membuat File Model
Selanjutnya, kita perlu membuat file model untuk mengatur data dalam aplikasi. Berikut adalah struktur file model:
- app- models- User_model.php
Pada file User_model.php, kita akan membuat class untuk mengatur data pengguna dalam aplikasi.
Membuat File View
Selanjutnya, kita perlu membuat file view untuk menampilkan data ke pengguna. Berikut adalah struktur file view:
- app- views- template- header.php- footer.php- home.php- user- index.php- create.php- edit.php- show.php
Pada folder template, kita akan membuat file header.php dan footer.php yang akan digunakan sebagai template untuk setiap halaman. Pada file home.php, kita akan membuat tampilan untuk halaman depan. Dan pada folder user, kita akan membuat tampilan untuk halaman pengguna seperti index.php, create.php, edit.php, dan show.php.
Menghubungkan Semua Komponen
Selanjutnya, kita perlu menghubungkan semua komponen yang telah kita buat. Untuk menghubungkan semua komponen, kita perlu membuat file index.php di folder public. Berikut adalah isi dari file index.php:
<?php// Load file konfigurasirequire_once '../system/config/config.php';// Load file autoloadrequire_once '../system/config/autoload.php';// Mulai sesisession_start();// Load file routerrequire_once '../system/core/Router.php';// Load file controllerrequire_once '../app/controllers/Home.php';require_once '../app/controllers/User.php';// Load file modelrequire_once '../app/models/User_model.php';// Load file viewrequire_once '../system/core/View.php';// Inisialisasi Router$router = new Router();// Tambahkan route untuk halaman depan$router->add('/',function() {$home = new Home();$home->index();});// Tambahkan route untuk halaman pengguna$router->add('user',function() {$user = new User();$user->index();});// Jalankan Router$router->run();?>
Pada file index.php, kita akan melakukan load file konfigurasi, autoload, router, controller, model, dan view. Selanjutnya, kita akan inisialisasi router dan menambahkan route untuk halaman depan dan halaman pengguna. Terakhir, kita akan jalankan router.
FAQ
Apa itu framework MVC?
Framework MVC adalah sebuah kerangka kerja perangkat lunak yang memisahkan antara representasi informasi dari interaksi pengguna. Arsitektur ini membagi aplikasi menjadi tiga komponen yaitu Model, View, dan Controller.
Kenapa perlu membuat framework MVC sederhana?
Membuat framework MVC sederhana akan membantu kita memahami konsep arsitektur MVC serta membantu kita mengembangkan aplikasi secara terstruktur dan mudah di-maintain.
Apa saja komponen MVC?
Komponen MVC terdiri dari Model, View, dan Controller. Model merepresentasikan data dan operasi data, View menampilkan data ke pengguna, dan Controller mengatur input dari pengguna serta mengubah model dan view.
Apa saja folder yang perlu dibuat dalam pembuatan framework MVC sederhana?
Folder app untuk menyimpan model, view, dan controller, folder public untuk menyimpan file-file publik seperti CSS, Javascript, dan gambar, dan folder system untuk menyimpan file-file sistem seperti konfigurasi, library, dan helper.
Apa itu file konfigurasi?
File konfigurasi adalah file yang berisi pengaturan-pengaturan untuk aplikasi. Pada pembuatan framework MVC sederhana, file konfigurasi digunakan untuk mengatur koneksi database, autoload library dan helper, serta beberapa konfigurasi lainnya.
Apa itu file library?
File library adalah file yang berisi kumpulan fungsi-fungsi untuk mengatur fungsi-fungsi yang sering digunakan dalam pembuatan aplikasi.
Apa itu file helper?
File helper adalah file yang berisi kumpulan fungsi-fungsi untuk mengatur fungsi-fungsi yang sering digunakan dalam pembuatan aplikasi.
Apa itu file controller?
File controller adalah file yang berisi logika bisnis dari aplikasi.
Apa itu file model?
File model adalah file yang berisi pengaturan data dalam aplikasi.
Apa itu file view?
File view adalah file yang berisi tampilan dari aplikasi.
Semoga Bermanfaat dan sampai jumpa di artikel menarik lainnya
Cara Buat Framework MVC PHP Sederhana
https://youtube.com/watch?v=3aqdI_BmhMc