Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mensimulasikan Berbilang Pembina dalam PHP Tanpa Pelbagai Fungsi `__construct`?

Bagaimana untuk Mensimulasikan Berbilang Pembina dalam PHP Tanpa Pelbagai Fungsi `__construct`?

Patricia Arquette
Lepaskan: 2024-11-19 18:13:03
asal
996 orang telah melayarinya

How to Simulate Multiple Constructors in PHP Without Multiple `__construct` Functions?

Pelbagai Pembina PHP: Meneroka Pendekatan Alternatif

Keterbatasan PHP dengan berbilang pembina menggunakan tandatangan argumen yang berbeza menimbulkan cabaran bagi pengaturcara yang ingin memulakan objek dengan sumber data yang berbeza-beza. Untuk menangani perkara ini, kami menyelidiki pendekatan yang disyorkan yang memanfaatkan kaedah pembantu statik.

Daripada mentakrifkan berbilang fungsi __konstruk, kami mentakrifkan pembina asas yang memulakan elemen penting. Kemudian, kami mencipta kaedah statik bernama withID dan withRow, yang mengambil hujah khusus dan mengisi sifat objek secara dalaman menggunakan kaedah seperti loadByID dan isi.

Berikut ialah contoh:

class Student
{
    public function __construct() {
        // Allocate common stuff
    }

    public static function withID(int $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(int $id) {
        // Perform database query and fill instance properties
    }

    protected function fill(array $row) {
        // Populate properties from array
    }
}
Salin selepas log masuk

Dengan pendekatan ini , anda boleh memulakan objek berdasarkan maklumat tertentu:

$student1 = Student::withID(123);
$student2 = Student::withRow(['id' => 456, 'name' => 'John Doe']);
Salin selepas log masuk

Kaedah ini menyediakan cara berstruktur dan fleksibel untuk mengendalikan pelbagai fungsi seperti pembina, mengelakkan keperluan untuk pembina yang terlalu kompleks

Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan Berbilang Pembina dalam PHP Tanpa Pelbagai Fungsi `__construct`?. 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