Framework PHP MVC dari Awal

Framework PHP
Pada masa sekarang, para developer kerap kali menggunakan framework populer seperti Laravel, Code Igniter, Yii, dan lain-lain dalam pekerjaan mereka. Kita tidak benar-benar tahu bagaimana framework bekerja di belakangnya. Jadi, dalam buku ini saya harap Anda dapat memperoleh gambaran bagaimana sebuah framework PHP bekerja. Saya tidak merekomendasikan framework ini digunakan dalan proses produksi. Tujuan pembuatan framework ini murni hanya untuk kepentingan pembelajaran.

Dalam buku ini, kita akan membangun Framework MVC yang berfungsi penuh menggunakan PHP versi 7.4 yang dapat diinstal dan digunakan menggunakan Composer. Dalam proyek ini kita akan belajar banyak hal, di antaranya:
 * Bagaimana bekerja dengan file system
 * Bagaimana bekerja dengan database
 * Cara menggunakan Abstraksi dalam proyek nyata
 * Bagaimana menerapkan perutean khusus (custom routing)
 * Cara menginstal paket pihak ketiga menggunakan Composer
 * Cara membuat paket Composer yang dapat digunakan kembali
 * dan banyak hal penting lainnya

Beberapa Fitur Framework
Berikut adalah beberapa fitur yang akan kita terapkan pada framework yang kita buat.
 * Custom Routing
 * Composer
 * Controllers
 * View/Layouts
 * Models
 * Migrations
 * Form widget classes
 * Processing of request data
 * Validation
 * Registration/Login
 * Simple Active Record
 * Session Flash message
 * Middlewares
 * Application events
 * Framework resuable/installable core

Apa yang akan kita lakukan?

 * Aplikasi Utama
 * Membuat Aplikasi dan Router
 * Mengaktifkan Autoloading Menggunakan Composer
 * Menerapkan Routing
 * Membuat Struktur Proyek
 * Menerapkan Views dan Layouts
 * Menerapkan Controllers
 * Membersihkan data $_POST
 * Memulai Registrasi
 * Menerapkan Layout Kedua
 * Menerapkan Models
 * Menerapkan Validasi Menggunakan Models
 * Menerapkan Form Widget
 * Bekerja dengan Database
 * Migrasi dan Koneksi ke Database
 * File .env dan Konfigurasi Aplikasi
 * Menerapkan Migrasi
 * Registrasi dan Login
 * Menerapkan Active Record dan Registrasi
 * Mencegah Registrasi dengan Email yang Sama
 * Menerapkan Session Flash Messages
 * Menerapkan Label Input
 * Menerapkan Login
 * Otorisasi Keamaanan
 * Menyembunyikan Tombol Login dan Register ketika User diberi Otorisasi
 * Membuat Protected Routes
 * Membuat Komponen View dan Menerapkan Judul Halaman
 * Meningkatkan Form Widget dengan abstraksi
 * Install Proyek dari Composer
 * Membuat Paket Composer Inti yang Dapat Diinstal
 * Membuat Website Kedua dengan Inti yang Sama
 * Menambahkan Fitur Baru ke Inti dan Rilis Versi Baru