Skip to content

kyeiki/mvc-simple

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MVC Simple - Contoh Aplikasi MVC untuk Edukasi

Proyek ini adalah contoh sederhana implementasi pola Model-View-Controller (MVC) menggunakan PHP untuk tujuan edukasi.

Struktur Direktori

mvc-simple/
├── app/                 # Folder aplikasi (untuk pengembangan lebih lanjut)
├── config/              # File konfigurasi
│   └── database.php     # Konfigurasi database
├── controllers/         # Controller
│   └── HomeController.php
├── models/              # Model
│   └── UserModel.php
├── views/               # View (tampilan)
│   ├── home.php         # Halaman daftar pengguna
│   ├── user_detail.php  # Halaman detail pengguna
│   ├── create_user.php  # Form tambah pengguna
│   └── edit_user.php    # Form edit pengguna
├── public/              # Folder public (assets, css, js)
├── index.php            # Entry point aplikasi
├── setup.php            # Script setup database
├── .htaccess            # Konfigurasi URL rewriting
└── README.md            # Dokumentasi

Cara Instalasi

  1. Pastikan Laragon sudah berjalan
  2. Clone atau download proyek ini ke folder www Laragon
  3. Buka browser dan jalankan setup database:
    http://localhost/mvc-simple/setup.php
    
  4. Akses aplikasi:
    http://localhost/mvc-simple/
    

Fitur

Aplikasi ini memiliki fitur CRUD (Create, Read, Update, Delete) sederhana:

  • Read: Menampilkan daftar pengguna
  • Create: Menambah pengguna baru
  • Update: Mengedit data pengguna
  • Delete: Menghapus pengguna

Penjelasan MVC Pattern

Model (models/UserModel.php)

  • Bertanggung jawab atas logika data dan interaksi dengan database
  • Mengelola operasi CRUD pada tabel users
  • Tidak bergantung pada View atau Controller

View (views/)

  • Bertanggung jawab atas tampilan yang dilihat user
  • Menerima data dari Controller dan menampilkannya
  • Tidak mengandung logika bisnis yang kompleks

Controller (controllers/HomeController.php)

  • Bertindak sebagai penghubung antara Model dan View
  • Menerima request dari user
  • Memanggil Model untuk mendapatkan/mengubah data
  • Mengirim data ke View untuk ditampilkan

Routing

Aplikasi menggunakan URL routing sederhana:

  • /HomeController::index() (daftar pengguna)
  • /home/user/{id}HomeController::user($id) (detail pengguna)
  • /home/createHomeController::create() (form tambah)
  • /home/storeHomeController::store() (proses tambah)
  • /home/edit/{id}HomeController::edit($id) (form edit)
  • /home/update/{id}HomeController::update($id) (proses update)
  • /home/delete/{id}HomeController::delete($id) (hapus)

Konfigurasi Database

Database menggunakan MySQL dengan konfigurasi default Laragon:

  • Host: localhost
  • Database: mvc_simple (otomatis dibuat saat setup)
  • Username: root
  • Password: (kosong)

Struktur Database

Tabel: users

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Data Sampel:

INSERT INTO users (name, email) VALUES
    ('John Doe', 'john@example.com'),
    ('Jane Smith', 'jane@example.com'),
    ('Bob Johnson', 'bob@example.com');

Cara Setup Database

  1. Otomatis (Recommended):

    • Buka browser: http://localhost/mvc-simple/setup.php
    • Database dan tabel akan dibuat otomatis
  2. Manual:

    • Import file database_structure.sql melalui phpMyAdmin
    • Atau jalankan query SQL di command line

Visualisasi Alur MVC & Database

Lihat file docs/mvc_flow.php untuk visualisasi lengkap alur data MVC dengan database.

Query SQL yang Digunakan

  • CREATE: INSERT INTO users (name, email) VALUES (?, ?)
  • READ: SELECT * FROM users ORDER BY created_at DESC
  • UPDATE: UPDATE users SET name = ?, email = ? WHERE id = ?
  • DELETE: DELETE FROM users WHERE id = ?

Ekstensi dan Pengembangan

Proyek ini dapat dikembangkan lebih lanjut dengan:

  1. Menambah Controller baru untuk fitur lain
  2. Menambah Model baru untuk tabel lain
  3. Mengimplementasikan autentikasi user
  4. Menambah validasi input yang lebih robust
  5. Menggunakan template engine seperti Twig
  6. Menambah API endpoints

Catatan

Proyek ini dirancang untuk tujuan edukasi dan tidak dimaksudkan untuk produksi. Fokus utama adalah memahami konsep MVC pattern dengan implementasi yang sederhana dan mudah dipahami.

About

mvc simple, tutorial kelas wad

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published