Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menghidupkan Objek PHP Secara Dinamik Berdasarkan Jenis Pangkalan Data?

Bagaimana untuk Menghidupkan Objek PHP Secara Dinamik Berdasarkan Jenis Pangkalan Data?

Susan Sarandon
Lepaskan: 2024-11-24 15:19:11
asal
713 orang telah melayarinya

How to Dynamically Instantiate PHP Objects Based on Database Types?

Mengaju secara Dinamik Objek PHP daripada Jenis Pangkalan Data

Dalam PHP, adalah mungkin untuk mencipta objek secara dinamik berdasarkan rentetan yang menentukan jenis yang ditentukan dalam jadual pangkalan data. Untuk mencapai matlamat ini, seseorang boleh menggunakan pertanyaan pangkalan data dan keupayaan penciptaan objek dinamik PHP.

Pertimbangkan jadual pangkalan data dengan lajur dan data sampel berikut:

id | type | propertyVal
----+------+-------------
1 | foo  | lorum
2 | bar  | ipsum
Salin selepas log masuk

Andaikan kita mempunyai jenis data PHP ditakrifkan seperti berikut:

class ParentClass {...}
class Foo extends ParentClass {private $id, $propertyVal; ...}
class Bar extends ParentClass {private $id, $propertyVal; ...} 
// ...(more classes)...
Salin selepas log masuk

Untuk mencipta objek jenis yang ditakrifkan oleh lajur jenis pangkalan data, kita boleh memanfaatkan langkah berikut:

  • Laksanakan pertanyaan yang memilih baris dengan id yang diingini.
  • Gunakan mysql_fetch_object() untuk mendapatkan semula data sebagai tatasusunan bersekutu.
  • Dapatkan nilai jenis daripada tatasusunan bersekutu.
  • Secara dinamik cipta objek jenis itu menggunakan sintaks: $instance = new $type;.
  • Tetapkan baki sifat objek daripada tatasusunan bersekutu.

Contohnya:

$result = mysqli_query($conn, "SELECT * FROM table WHERE id = 1");
$row = mysqli_fetch_assoc($result);

$type = $row['type'];
$instance = new $type;

unset($row['type']);  
foreach ($row as $property => $value) {
   $instance->$property = $value;
}
Salin selepas log masuk

Dengan cara ini, objek contoh akan dibuat secara dinamik dengan jenis yang ditentukan oleh lajur pangkalan data jenis dan sifatnya akan memberikan nilai daripada baris yang dipilih.

Atas ialah kandungan terperinci Bagaimana untuk Menghidupkan Objek PHP Secara Dinamik Berdasarkan Jenis Pangkalan Data?. 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