Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membuat Objek PHP Secara Dinamik dari MySQL Strings?

Bagaimana untuk Membuat Objek PHP Secara Dinamik dari MySQL Strings?

Linda Hamilton
Lepaskan: 2024-11-14 19:11:02
asal
505 orang telah melayarinya

How to Dynamically Create PHP Objects from MySQL Strings?

Penciptaan Objek Dinamik dalam PHP daripada MySQL String

Banyak aplikasi menyimpan maklumat tentang objek dalam pangkalan data. Masalahnya ialah: bagaimana untuk mewakili data tersebut dalam kod PHP? Rangka kerja pemetaan hubungan objek (ORM) boleh membantu, tetapi ia boleh menjadi rumit dan mungkin tidak selalu diperlukan.

Jawapan ini memberikan penyelesaian mudah untuk mencipta objek PHP secara dinamik berdasarkan rentetan yang disimpan dalam pangkalan data MySQL.

Masalahnya:

Diberikan jadual MySQL dengan skema berikut:

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

di mana id ialah pengecam unik, jenis ialah jenis objek (cth., foo, bar) dan propertyVal ialah nilai sifat.

Tugasnya ialah untuk mencipta objek PHP daripada jenis dinamik yang ditakrifkan dalam lajur jenis dan mengisinya dengan data daripada baris yang sepadan dalam jadual .

Penyelesaian:

Dalam PHP, anda boleh mencipta objek jenis tertentu secara dinamik menggunakan sintaks berikut:

$type = 'myClass';

$instance = new $type;
Salin selepas log masuk

Andaikan pertanyaan mengembalikan tatasusunan bersekutu, anda boleh menetapkan sifat kepada objek menggunakan sintaks yang serupa:

foreach ($row as $property => $value) {
   $instance->$property = $value;
}
Salin selepas log masuk

Pelaksanaan:

  1. Dapatkan semula data baris daripada pangkalan data menggunakan pertanyaan.
  2. Dapatkan nilai jenis daripada baris.
  3. Buat tika jenis itu menggunakan $type baharu.
  4. Alih keluar kekunci jenis daripada baris untuk mengelak daripada menetapkan sifat jenis bagi tika itu.
  5. Lelarkan kekunci dan nilai yang tinggal dalam baris dan tetapkan ia kepada sifat objek yang sepadan.

Contoh :

$row = $result->fetch_assoc();

$type = $row['type'];
unset($row['type']);

$instance = new $type;

foreach ($row as $property => $value) {
   $instance->$property = $value;
}
Salin selepas log masuk

Pendekatan ini membolehkan anda mencipta objek dinamik daripada pangkalan data tanpa memerlukan rangka kerja ORM yang kompleks. Ia merupakan penyelesaian yang mudah dan berkesan untuk banyak senario di mana anda perlu mewakili data pangkalan data sebagai objek dinamik dalam kod PHP anda.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Objek PHP Secara Dinamik dari MySQL Strings?. 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