Apa itu constructor pada php?

Saya telah memperhatikan __construct banyak dengan kelas. Saya melakukan sedikit membaca dan menjelajahi web, tetapi saya tidak dapat menemukan penjelasan yang dapat saya mengerti. Saya baru mulai dengan OOP.

Saya bertanya-tanya apakah seseorang bisa memberi saya gambaran umum tentang apa itu, dan kemudian contoh sederhana tentang bagaimana ia digunakan dengan PHP?

__construct diperkenalkan di PHP5 dan ini adalah cara yang tepat untuk mendefinisikan konstruktor Anda, [dalam PHP4 Anda menggunakan nama kelas untuk konstruktor]. Anda tidak diharuskan untuk mendefinisikan konstruktor di kelas Anda, tetapi jika Anda ingin memberikan parameter pada konstruksi objek maka Anda memerlukannya.

Contohnya bisa seperti ini:

class Database {
  protected $userName;
  protected $password;
  protected $dbName;

  public function __construct [ $UserName, $Password, $DbName ] {
    $this->userName = $UserName;
    $this->password = $Password;
    $this->dbName = $DbName;
  }
}

// and you would use this as:
$db = new Database [ 'user_name', 'password', 'database_name' ];

Segala sesuatu yang lain dijelaskan dalam manual PHP: klik di sini

__construct[] adalah nama metode untuk constructor . Konstruktor dipanggil pada objek setelah objek dibuat, dan merupakan tempat yang baik untuk meletakkan kode inisialisasi, dll.

class Person {

    public function __construct[] {
        // Code called for each new Person we create
    }

}

$person = new Person[];

Konstruktor dapat menerima parameter dengan cara normal, yang dilewatkan ketika objek dibuat, mis.

class Person {

    public $name = '';

    public function __construct[ $name ] {
        $this->name = $name;
    }

}

$person = new Person[ "Joe" ];
echo $person->name;

Tidak seperti beberapa bahasa lain [mis. Java], PHP tidak mendukung kelebihan konstruktor [yaitu, memiliki banyak konstruktor yang menerima parameter berbeda]. Anda dapat mencapai efek ini menggunakan metode statis.

Catatan : Saya mengambil ini dari log jawaban [pada saat penulisan ini] diterima.

Ini cara lain untuk mendeklarasikan konstruktor. Anda juga dapat menggunakan nama kelas, misalnya:

class Cat
{
    function Cat[]
    {
        echo 'meow';
    }
}

dan

class Cat
{
    function __construct[]
    {
        echo 'meow';
    }
}

Setara. Mereka dipanggil setiap kali instance baru kelas dibuat, dalam hal ini, mereka akan dipanggil dengan baris ini:

$cat = new Cat[];

Saya pikir ini penting untuk memahami tujuan konstruktor.
Bahkan setelah membaca tanggapan di sini, saya perlu beberapa menit untuk menyadari dan inilah alasannya.
Saya sudah terbiasa mengkode secara eksplisit segala sesuatu yang dimulai atau terjadi. Dengan kata lain ini akan menjadi kelas kucing saya dan bagaimana saya menyebutnya.

class_cat.php

class cat {
    function speak[] {
        return "meow";  
    }
}

somepage.php

include['class_cat.php'];
mycat = new cat;
$speak = cat->speak[];
echo $speak;

Dimana dalam contoh "class cat" yang diberikan @Logan Serman, diasumsikan bahwa setiap kali Anda membuat objek baru dari "cat" kelas, Anda ingin kucing "meow" daripada menunggu Anda memanggil fungsi untuk membuatnya meow.

Dengan cara ini pikiran saya berpikir secara eksplisit di mana metode konstruktor menggunakan implikasi dan ini membuatnya sulit untuk dipahami pada awalnya.

Konstruktor adalah metode yang secara otomatis dipanggil di kelas instantiation. Yang berarti konten konstruktor diproses tanpa pemanggilan metode terpisah. Isi kurung kata kunci kelas diteruskan ke metode konstruktor.

Semoga Bantuan ini:

Bài mới nhất

Chủ Đề