Materi tertulis · 25 modul
Materi PHP
Kelas PHP berbahasa Indonesia: 25 modul tentang PHP 8.4–8.5, tipe dan OOP modern, Composer, keluaran aman, session, unggah berkas, PDO, kata sandi, CSRF, PHPUnit, dan PHP-FPM.
1 · Fondasi
- 1. Pengantar PHP Modern: Siklus Versi, Cara Kerja di Server, dan strict_typesMemahami transformasi PHP modern (PHP 8.2 hingga 8.5), kebijakan siklus dukungan 4 tahun, model eksekusi share-nothing pada PHP-FPM dan CLI, serta penggunaan wajib…
- 2. Sintaks, Sistem Tipe Modern, Ekspresi match, dan Operator Pipe (|)Menguasai variabel, konstanta, deklarasi tipe skalar dan gabungan (union/intersection types), perbandingan ketat ===, ekspresi match (sejak PHP 8.0), operator nullsafe…
- 3. Pengolahan String Multibyte (mb_*) dan Array Modern di PHP 8.4 & 8.5Memanipulasi teks UTF-8 dengan aman menggunakan fungsi mb_* dan str_contains() / str_starts_with(), serta menguasai struktur data Array PHP, destructuring/unpacking…
- 4. Fungsi, Named Arguments, Closure, Arrow Function (fn), dan #[\NoDiscard]Menulis fungsi yang ekspresif dan aman dengan deklarasi tipe ketat, named arguments (PHP 8.0), variadic parameters, perbedaan anonymous function (use) dan arrow function…
- 5. Tanggal, Waktu (DateTimeImmutable), Zona Waktu UTC, dan Internasionalisasi (intl)Mengelola waktu dengan aman menggunakan DateTimeImmutable (dan metode mikrodetik PHP 8.4), memisahkan penyimpanan waktu UTC di basis data dari tampilan zona waktu lokal…
2 · OOP & Struktur Kode
- 6. Pemrograman Berorientasi Objek (OOP) Modern: Readonly, Asymmetric Visibility, dan Property HooksMerancang class yang ringkas dan tangguh di PHP 8 menggunakan Constructor Property Promotion, Readonly Classes & clone($this, [...]) (PHP 8.5), Asymmetric Visibility…
- 7. Enumerations (enum — Sejak PHP 8.1): Pure Enum, Backed Enum, Metode, dan InterfaceMenggantikan konstanta nilai ajaib (magic strings/numbers) dengan tipe enum yang aman di tingkat kompilasi, menguasai Pure Enum dan Backed Enum (string/int), konversi…
- 8. Penanganan Exception (Throwable), Hierarki Galat, dan Global HandlerMembedah hierarki Throwable (Error vs Exception), menerapkan pola try/catch/finally dan exception chaining ($previous), merancang hierarki Domain Exception, serta…
- 9. Namespace, Resolusi Nama, dan Cara Kerja Autoloading PSR-4 di Balik LayarMenguasai pengorganisasian ruang nama (namespace, use, use function, use const), memahami aturan resolusi nama (unqualified, qualified, fully qualified), menulis…
- 10. Manajemen Dependensi dengan Composer, SemVer, composer.lock, dan Standar PER/PSR-12Mengelola siklus hidup pustaka pihak ketiga menggunakan Composer, memahami aturan Semantic Versioning (^ vs ~), mengunci rilis dengan composer.lock, memindai kerentanan…
- 11. Ekspresi Reguler (PCRE2 preg_*), Attributes (#[...]), dan Reflection APIMencocokkan dan mengekstrak pola teks menggunakan fungsi PCRE2 (preg_match, preg_match_all, preg_replace_callback), serta merancang metadata deklaratif menggunakan PHP…
3 · Web & Keamanan Dasar
- 12. Menangani Permintaan HTTP, Validasi filter_input(), dan Ekstensi Uri (PHP 8.5)Membedah siklus permintaan HTTP di PHP melalui variabel superglobal ($_SERVER, $_GET, $_POST), membaca body JSON dari php://input, memvalidasi masukan pengguna dengan…
- 13. Keluaran Aman (Contextual Output Escaping), Pencegahan XSS, dan Header Keamanan HTTPMencegah celah Cross-Site Scripting (XSS) dengan menerapkan pengodean keluaran sesuai konteks penempatannya (HTML body, atribut HTML, blok JavaScript, parameter URL)…
- 14. Manajemen State: Cookie yang Aman, Session, dan Pencegahan Session FixationMengelola identitas dan state pengguna di atas protokol HTTP yang stateless menggunakan setcookie() dengan atribut keamanan (HttpOnly, Secure, SameSite, partitioned)…
- 15. Menangani Unggah Berkas (File Upload) Secara AmanMemproses unggahan berkas melalui $_FILES dengan memeriksa kode status UPLOAD_ERR_*, memverifikasi tipe MIME sejati dari isi biner berkas menggunakan ekstensi finfo…
- 16. Perlindungan Cross-Site Request Forgery (CSRF), random_bytes(), dan Pertahanan BerlapisMembedah anatomi serangan Cross-Site Request Forgery (CSRF), mengimplementasikan Synchronizer Token Pattern dengan random_bytes() dan hash_equals(), memanfaatkan header…
- 17. Keamanan Kata Sandi: password_hash() (Argon2id/Bcrypt), password_verify(), dan Reset Sandi AmanMengamankan kredensial pengguna menggunakan fungsi Key Derivation bawaan PHP (password_hash, password_verify, password_needs_rehash), memahami parameter memori dan waktu…
- 18. Akses Basis Data Aman dengan PDO, Prepared Statements, dan TransaksiMenghubungkan PHP ke basis data (PostgreSQL, MySQL, SQLite) menggunakan ekstensi PDO dan PDO::connect() (PHP 8.4), menangkal SQL Injection secara mutlak dengan Prepared…
4 · Data & Berkas
5 · Arsitektur Aplikasi
- 20. Arsitektur Aplikasi Modern: Routing, Middleware (PSR-15), dan Dependency Injection (PSR-11)Memahami arsitektur internal di balik kerangka kerja PHP modern melalui pola Front Controller, Router, pipa pemrosesan Middleware (PSR-7 & PSR-15), serta Dependency…
- 21. Struktur Direktori Proyek Siap Produksi, Konfigurasi Lingkungan, dan Logging Terstruktur (PSR-3)Mengorganisasikan arsitektur direktori aplikasi PHP yang memisahkan public/ dari kode sumber internal, mengelola konfigurasi via variabel lingkungan (getenv), serta…
6 · Layanan & Proses
7 · Kualitas & Produksi
- 23. Pengujian Otomatis (Unit & Integration Testing) dengan PHPUnit 12Membangun suite pengujian otomatis kelas industri menggunakan PHPUnit 12, menguasai atribut #[Test] dan #[DataProvider], menggunakan Test Doubles (createStub vs…
- 24. Menyajikan Aplikasi PHP di Produksi dengan Nginx, PHP-FPM, dan OPcacheMerancang arsitektur server produksi menggunakan Nginx + PHP-FPM melalui soket FastCGI, menghitung kapasitas worker pool (pm.max_children), mengoptimalkan kinerja dengan…
- 25. Proyek Akhir Kelas PHP: Aplikasi Manajemen Modul & Catatan Belajar AmanMembangun aplikasi web PHP 8.4/8.5 berarsitektur bersih dari nol yang memadukan PSR-4 Autoloading, Backed Enum, Readonly Class, PDO Prepared Statements, proteksi sesi…