Tutorial PHP

RUMAH PHP Pengenalan PHP Instal PHP Sintaks PHP Komentar PHP Variabel PHP PHP Gema / Cetak Tipe Data PHP String PHP Nomor PHP PHP Matematika Konstanta PHP Operator PHP PHP Jika...Lain...Elseif Beralih PHP PHP Loop Fungsi PHP Array PHP PHP Superglobal PHP RegEx

Formulir PHP

Penanganan Formulir PHP Validasi Formulir PHP Diperlukan Formulir PHP URL/Email Formulir PHP Formulir PHP Lengkap

PHP Lanjutan

Tanggal dan Waktu PHP PHP Termasuk Penanganan File PHP File PHP Buka/Baca Membuat/Menulis File PHP Unggah File PHP Cookie PHP Sesi PHP Filter PHP Filter PHP Tingkat Lanjut Fungsi Panggilan Balik PHP PHP JSON Pengecualian PHP

PHP OOP

PHP Apa itu OOP Kelas/Objek PHP Konstruktor PHP Penghancur PHP Pengubah Akses PHP Warisan PHP Konstanta PHP Kelas Abstrak PHP Antarmuka PHP Ciri-ciri PHP Metode Statis PHP Properti Statis PHP Ruang Nama PHP PHP Iterable

Database MySQL

Database MySQL Koneksi MySQL MySQL Buat DB MySQL Buat Tabel MySQL Sisipkan Data MySQL Dapatkan ID Terakhir MySQL Sisipkan Beberapa MySQL Disiapkan MySQL Pilih Data MySQL Dimana MySQL Dipesan Oleh MySQL Hapus Data Data Pembaruan MySQL Data Batas MySQL

PHP XML

PHP XML Parser PHP SimpleXML Parser PHP SimpleXML - Dapatkan PHP XML Ekspat PHP XML DOM

PHP - AJAX

Pengenalan AJAX AJAX PHP Basis Data AJAX AJAX XML Pencarian Langsung AJAX Jajak Pendapat AJAX

Contoh PHP

Contoh PHP Kompilator PHP Kuis PHP Latihan PHP Sertifikat PHP

Referensi PHP

Ikhtisar PHP Array PHP Kalender PHP Tanggal PHP Direktori PHP Kesalahan PHP Pengecualian PHP Sistem File PHP Filter PHP PHP FTP PHP JSON Kata Kunci PHP PHP Libxml Surat PHP PHP Matematika PHP Lain-lain PHP MySQLi Jaringan PHP Kontrol Keluaran PHP PHP RegEx PHP SimpleXML Aliran PHP String PHP Penanganan Variabel PHP PHP XML Parser PHP Zip Zona Waktu PHP

PHP OOP - Sifat


PHP - Apa itu Sifat?

PHP hanya mendukung pewarisan tunggal: kelas anak hanya dapat mewarisi dari satu orang tua tunggal.

Jadi, bagaimana jika suatu kelas perlu mewarisi banyak perilaku? Sifat OOP memecahkan masalah ini.

Traits digunakan untuk mendeklarasikan method yang dapat digunakan di beberapa class. Sifat dapat memiliki metode dan metode abstrak yang dapat digunakan di beberapa kelas, dan metode dapat memiliki pengubah akses apa pun (publik, pribadi, atau dilindungi).

Sifat dideklarasikan dengan trait kata kunci:

Sintaksis

<?php
trait TraitName {
  // some code...
}
?>

Untuk menggunakan sifat di kelas, gunakan use kata kunci:

Sintaksis

<?php
class MyClass {
  use TraitName;
}
?>

Mari kita lihat sebuah contoh:

Contoh

<?php
trait message1 {
public function msg1() {
    echo "OOP is fun! ";
  }
}

class Welcome {
  use message1;
}

$obj = new Welcome();
$obj->msg1();
?>

Contoh Dijelaskan

Di sini, kami mendeklarasikan satu sifat: pesan1. Kemudian, kami membuat kelas: Selamat datang. Kelas menggunakan sifat, dan semua metode dalam sifat akan tersedia di kelas.

Jika kelas lain perlu menggunakan fungsi msg1(), cukup gunakan sifat message1 di kelas tersebut. Ini mengurangi duplikasi kode, karena tidak perlu mendeklarasikan ulang metode yang sama berulang kali.



PHP - Menggunakan Beberapa Sifat

Mari kita lihat contoh lain:

Contoh

<?php
trait message1 {
  public function msg1() {
    echo "OOP is fun! ";
  }
}

trait message2 {
  public function msg2() {
    echo "OOP reduces code duplication!";
  }
}

class Welcome {
  use message1;
}

class Welcome2 {
  use message1, message2;
}

$obj = new Welcome();
$obj->msg1();
echo "<br>";

$obj2 = new Welcome2();
$obj2->msg1();
$obj2->msg2();
?>

Contoh Dijelaskan

Di sini, kami mendeklarasikan dua sifat: message1 dan message2. Kemudian, kami membuat dua kelas: Welcome dan Welcome2. Kelas pertama (Selamat datang) menggunakan sifat pesan1, dan kelas kedua (Selamat datang2) menggunakan sifat pesan1 dan pesan2 (beberapa sifat dipisahkan dengan koma).