Logo Catatan Kader Logo Catatan Kader
  • Beranda
Beranda
Backend Engineering / PHP OOP

Modul 1: Pondasi OOP PHP

PHP OOP Foundation

Modul 01

"Bekal Wajib Sebelum Masuk ke Framework"

Diperbarui Terakhir
60 Menit Eksekusi

Pahami konsep Class, Object, Inheritance, dan Interface pada PHP. Modul ini adalah bekal mutlak sebelum Anda terjun ke dalam Framework modern seperti Laravel yang mengusung arsitektur berbasis objek secara penuh.

Konsep Dasar OOP

Anatomi Objek di PHP

01 Class & Object

Class adalah blueprint atau cetakan, sedangkan Object adalah hasil nyata (instansiasi) dari blueprint tersebut. Class berisi Property (variabel) dan Method (fungsi).

<?php
class User {
    // Property
    public $nama;
    
    // Constructor (Dijalankan otomatis saat object dibuat)
    public function __construct($nama) {
        $this->nama = $nama;
    }

    // Method
    public function sapa() {
        return "Halo, nama saya " . $this->nama;
    }
}

// Membuat Object (Instansiasi)
$kader = new User("Abdul Kader");
echo $kader->sapa(); // Output: Halo, nama saya Abdul Kader

02 Inheritance (Pewarisan)

Inheritance memungkinkan sebuah Class (Child) mewarisi property dan method dari Class lain (Parent) menggunakan keyword extends. Ini mencegah pengulangan kode (DRY - Don't Repeat Yourself).

<?php
class Admin extends User {
    public $role = "Administrator";

    public function getRole() {
        return "Role saya adalah " . $this->role;
    }
}

$adminKader = new Admin("Abdul Kader");
echo $adminKader->sapa(); // Memanggil method dari Parent Class
echo $adminKader->getRole(); // Memanggil method spesifik Child Class
Kader Note (Visibility / Encapsulation):

Perhatikan kata public di atas. Dalam OOP, itu disebut Visibility. Ada 3 jenis: Public (bisa diakses dari mana saja), Protected (hanya bisa diakses di dalam class itu dan turunannya), dan Private (hanya bisa diakses murni di dalam class itu sendiri).

03 Interface (Kontrak Data)

Interface ibarat sebuah kontrak pakta. Class apapun yang mengimplementasikan (implements) interface tersebut, WAJIB memiliki method yang dideklarasikan di dalamnya. Sangat berguna di Laravel (seperti konsep Repository Pattern).

<?php
interface Logger {
    public function log($message);
}

// FileLogger WAJIB memiliki method log()
class FileLogger implements Logger {
    public function log($message) {
        echo "Menyimpan ke file: " . $message;
    }
}

// DatabaseLogger WAJIB memiliki method log()
class DatabaseLogger implements Logger {
    public function log($message) {
        echo "Menyimpan ke database: " . $message;
    }
}

$logger = new DatabaseLogger();
$logger->log("User login berhasil.");
Kembali ke Beranda Lanjut ke Modul 2: Koneksi Database PDO

Catatan Kader

"Controller, Model, dan Middleware di Laravel pada dasarnya hanyalah Class PHP biasa. Pahami OOP, maka memahami Laravel akan jauh lebih mudah."
- Abdul Kader
Catatan Kader Catatan Kader

Catatan ini dikelola untuk keperluan dokumentasi pribadi, pengembangan kemampuan analisis logika, serta standarisasi implementasi sistem teknologi.

© 2026 Catatan Kader. Deployment Active.