Mencipta Objek PHP secara Dinamik daripada Rentetan
Pengenalan:
Dalam PHP, ia mungkin untuk mencipta objek kelas tertentu secara dinamik berdasarkan perwakilan rentetan nama kelas yang dikehendaki. Teknik ini boleh berguna terutamanya dalam senario di mana jenis kelas tidak diketahui terlebih dahulu atau ditentukan secara pemrograman pada masa jalan.
Pernyataan Masalah:
Pertimbangkan pangkalan data MySQL di mana jadual menyimpan maklumat tentang objek, termasuk jenis dan sifatnya. Tugasnya ialah untuk mencipta objek PHP daripada jenis yang ditentukan menggunakan satu pertanyaan dan menetapkan nilai sifat yang sepadan daripada baris yang sama dalam pangkalan data.
Penyelesaian:
Kepada mencipta objek PHP secara dinamik berdasarkan rentetan dalam pangkalan data, anda boleh mengikuti langkah berikut:
Buat objek: Gunakan PHP berikut sintaks untuk mencipta contoh kelas yang ditentukan:
$instance = new $type;
Tetapkan nilai sifat: Lelaran ke atas lajur yang tinggal dalam baris pangkalan data dan tetapkan nilainya kepada sifat sepadan objek yang baru dibuat. Contohnya:
foreach ($row as $key => $value) { if ($key != 'type') { $instance->$key = $value; } }
Contoh:
Pertimbangkan jadual pangkalan data yang disebut dalam masalah:
id | type | propertyVal |
---|---|---|
1 | foo | lorum |
2 | bar | ipsum |
Menggunakan penyelesaian yang digariskan di atas, kod PHP berikut boleh digunakan untuk mencipta objek:
$row = fetchRowFromDatabase(); $type = $row['type']; $instance = new $type; foreach ($row as $key => $value) { if ($key != 'type') { $instance->$key = $value; } }
Kod ini akan mencipta contoh kelas 'foo' atau 'bar' berdasarkan nilai dalam 'jenis ' lajur dan tetapkan nilai 'propertyVal' kepada sifat objek yang sepadan.
Atas ialah kandungan terperinci Bagaimana untuk mencipta objek PHP secara dinamik daripada rentetan dalam pangkalan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!