Bagaimanakah Saya Boleh Memulakan Pembolehubah Contoh Berbeza dalam PHP Apabila Menggunakan Berbilang Pembina?

Linda Hamilton
Lepaskan: 2024-11-23 14:20:19
asal
1000 orang telah melayarinya

How Can I Initialize Different Instance Variables in PHP When Using Multiple Constructors?

Corak Pembina Berbilang dalam PHP

Dalam PHP, mentakrifkan banyak pembina dengan tandatangan parameter yang berbeza dalam kelas yang sama tidak boleh dilaksanakan. Cabaran ini timbul apabila bertujuan untuk memulakan pembolehubah contoh yang berbeza berdasarkan pembina yang digunakan.

Penyelesaian:

Teknik yang biasa digunakan melibatkan penggunaan kaedah pembantu statik bersama pembina lalai. Berikut ialah contoh pelaksanaan:

class Student {
    public function __construct() {
        // Allocate necessary resources
    }

    public static function withID($id) {
        $instance = new self();
        $instance->loadByID($id);
        return $instance;
    }

    public static function withRow(array $row) {
        $instance = new self();
        $instance->fill($row);
        return $instance;
    }

    protected function loadByID($id) {
        // Perform database query
        $row = my_db_access_stuff($id);
        $this->fill($row);
    }

    protected function fill(array $row) {
        // Populate all properties based on the provided array
    }
}
Salin selepas log masuk

Penggunaan:

Bergantung pada data yang tersedia, anda boleh membuat instantiate objek Pelajar menggunakan kaedah pembantu yang sesuai:

  • Jika ID adalah diketahui:

    $student = Student::withID($id);
    Salin selepas log masuk
  • Jika tatasusunan yang mengandungi maklumat baris pangkalan data tersedia:

    $student = Student::withRow($row);
    Salin selepas log masuk

Faedah:

  • Mengurangkan kerumitan: Dengan mengelakkan berbilang pembina, anda menyelaraskan definisi pembina.
  • Kod modular: Kaedah pembantu menyediakan pendekatan berstruktur untuk instantiasi objek, menjadikan kod lebih mudah untuk dikekalkan dan dilanjutkan.
  • Ujian ringkas: Menjadi lebih mudah untuk menguji logik permulaan untuk senario tertentu sejak kaedah pembantu merangkum senario yang berbeza.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan Pembolehubah Contoh Berbeza dalam PHP Apabila Menggunakan Berbilang Pembina?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan