Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mencipta objek PHP secara dinamik daripada rentetan dalam pangkalan data?

Bagaimana untuk mencipta objek PHP secara dinamik daripada rentetan dalam pangkalan data?

Barbara Streisand
Lepaskan: 2024-11-14 15:55:02
asal
506 orang telah melayarinya

How to dynamically create PHP objects from strings in a database?

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:

  1. Soal pangkalan data: Dapatkan semula baris yang mewakili objek yang ingin anda buat.
  2. Ekstrak sifat jenis: Simpan nilai lajur 'jenis' dalam pembolehubah.
  3. Buat objek: Gunakan PHP berikut sintaks untuk mencipta contoh kelas yang ditentukan:

    $instance = new $type;
    Salin selepas log masuk
  4. 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;
       }
    }
    Salin selepas log masuk

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;
   }
}
Salin selepas log masuk

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!

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