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 } }
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);
Jika tatasusunan yang mengandungi maklumat baris pangkalan data tersedia:
$student = Student::withRow($row);
Faedah:
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!