Repositori ini berisi materi dan latihan untuk mata kuliah Pemrograman Berorientasi Objek (OOP) di PHP. Kursus ini mencakup beberapa konsep utama dalam OOP, termasuk konstruktor, pewarisan, dan visibilitas.
Berdasarkan 4 pilar OOP: Enkapsulasi, Abstraksi, Warisan dan Polimorfisme.
Dalam PHP, konstruktor adalah metode "ajaib" khusus yang dipanggil secara otomatis ketika sebuah objek dibuat. Ini biasanya digunakan untuk menginisialisasi properti objek. Dalam kursus ini, Anda akan mempelajari cara mendefinisikan dan menggunakan konstruktor di kelas PHP Anda.
Warisan adalah konsep dasar dalam OOP yang memungkinkan Anda mendefinisikan kelas baru berdasarkan kelas yang sudah ada. Hal ini memungkinkan Anda untuk menggunakan kembali kode dan membuat kelas yang lebih terspesialisasi berdasarkan kelas umum. Kursus ini akan mengajarkan Anda cara menggunakan pewarisan dalam PHP untuk membuat kode yang lebih efisien dan terorganisir.
Visibilitas di PHP OOP mengacu pada aksesibilitas properti dan metode di suatu kelas. Ada tiga tingkat visibilitas:
Dalam kursus ini, Anda akan mempelajari cara menggunakan berbagai tingkat visibilitas ini untuk mengontrol akses ke kode Anda.
- `::` Scope Resolution Operator
- Like the `__toString` method is called when an object is used in a string context.
- Getters and Setters can have property names passed to get around multiple method calls
- An abstract class is a class that **cannot be instantiated on its own** and is typically used as a base class for other classes.
- The abstract class provides properties and funciontality which is shared by all the classes that inherit from it.
- Declared in an abstract class implementation is provided by the classes that inherit from the abstract class.
- if class extends three dimensions shape aka abstract it must implement the abstract method `getVolume`
- Good for:
- You want to provide a common interface for different classes
- You want to enforce certain methods to be implemented by the child class
- You are designing a large functional unit by using the Template Method patter
- Default implementation of a method in an interface
- Objects that can take on many forms
- an instance of an object that can take more than one type is polymorphic
- Injecting this single type is not as usefull `public function updateStockFromFile(string $path, CsvFileReader $fileReader): array`
- Using `instanceof` we can check if the object is of a certain type
- Closure functions
- Abstract classes and methods
- Uml diagrams
- Dependency injection
PHP
OOP
Pembelajaran-PHP
Kursus PHP
Konstruktor
Warisan
Visibilitas
Enkapsulasi
Abstraksi
Polimorfisme
Unit PHP
PDO
Ruang nama
Memuat otomatis
Sifat-sifat
Penanganan Kesalahan
MySQL
Komposer
Pengujian-PHP
Pengembangan Berbasis Uji