Constructor (__construct)
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan PHP di Coddy. Pelajaran 7 dari 91.
Method __construct adalah method khusus yang otomatis berjalan saat kamu membuat object baru. Method ini menginisialisasi property object tersebut.
Berikut contoh class dengan constructor:
<?php
class Dog {
public $name;
public $breed;
public function __construct($name, $breed) {
$this->name = $name;
$this->breed = $breed;
}
}method __construct menerima parameter dan menetapkannya ke property menggunakan $this.
Buat object menggunakan constructor:
$rex = new Dog("Rex", "German Shepherd");
$buddy = new Dog("Buddy", "Golden Retriever");Saat kamu memanggil new Dog("Rex", "German Shepherd"), PHP secara otomatis memanggil __construct dan meneruskan argumennya.
Akses property yang ditetapkan oleh constructor:
echo $rex->name . "\n";
echo $rex->breed . "\n";
echo $buddy->name . "\n";
echo $buddy->breed . "\n";Output:
Rex
German Shepherd
Buddy
Golden RetrieverKamu juga bisa menggunakan constructor dengan nilai parameter default:
class Cat {
public $name;
public $age;
public function __construct($name, $age = 1) {
$this->name = $name;
$this->age = $age;
}
}
$fluffy = new Cat("Fluffy", 3);
$whiskers = new Cat("Whiskers"); // nilai bawaan age adalah 1
echo $fluffy->name . " is " . $fluffy->age . " years old\n";
echo $whiskers->name . " is " . $whiskers->age . " years old\n";Keluaran:
Fluffy is 3 years old
Whiskers is 1 years oldPoin penting: method __construct memastikan setiap object disiapkan dengan benar menggunakan data awalnya saat dibuat. Ini membuatmu tidak perlu mengatur property secara manual setelah object dibuat.
Tantangan
MudahKamu diberi file PHP (book.php dan driver.php) untuk membuat sistem buku.
Tugasmu:
- Lengkapi class
Bookdibook.phpdengan method__constructyang menginisialisasi property$title,$author, dan$pages - Di
driver.php, impor dan buat object buku untuk"Harry Potter"karya"J.K. Rowling"dengan400halaman
Ikuti komentar TODO di setiap file.
Coba sendiri
<?php
require_once 'book.php';
// TODO: Buat object Book dengan:
// title: "Harry Potter", author: "J.K. Rowling", pages: 400
$myBook = ?;
echo "'" . $myBook->title . "' by " . $myBook->author . ", " . $myBook->pages . " pages\n";
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalPengenalan OOPclass vs objectKata Kunci $thismethodpropertyConstructor (__construct)Destructor (__destruct)Ringkasan: Kalkulator Sederhana4Pewarisan
Pewarisan DasarKata Kunci parent::Penimpaan methodKata Kunci finalClass AbstrakRingkasan: Hierarki Karyawan7Enkapsulasi
Public, Protected, PrivateModifier Akses secara MendalamGetter dan SetterPenyembunyian InformasiPromosi Constructor (8.0)Ulasan: Sistem Catatan Siswa2Namespace dan Autoloading
Pengenalan NamespaceKata Kunci useStandar Autoloading PSR-4Autoloader ComposerRingkasan: Proyek yang Terorganisasi5Interface dan Kontrak
Pengenalan InterfaceMengimplementasikan InterfaceImplementasi Beberapa InterfaceInterface vs Abstract ClassPetunjuk Tipe dengan InterfaceRekap: Kalkulator Bentuk8Magic Methods
Pengantar Magic Methods__toString & __debugInfo__get, __set, __isset, __unset__call & __callStatic__clone & Cloning Object__serialize & __unserializeRingkasan: Koleksi Kustom11Sistem Tipe Data dan Penanganan Error
Deklarasi TipeTipe NullableTipe Union dan IntersectionClass ExceptionHierarki Exception KustomTry, Catch, FinallyRekap: Validator Form3Property dalam class
Property instance vs staticKonstanta dalam classMethod & property staticProperty private & protectedProperty readonly (PHP 8.1)Ulasan: Pengelola Rekening Bank6Polimorfisme
Meninjau Kembali Method OverridingPolimorfisme melalui AntarmukaPetunjuk Tipe dan Tipe UnionPengikatan Statis TertundaRangkuman: Pemroses PembayaranLatihan sendiri: Compiler PHP online