從資料庫類型動態實例化PHP 物件
在PHP 中,可以基於指定定義類型的字串動態建立物件在資料庫表中。為了實現這一目標,可以利用資料庫查詢和 PHP 的動態物件建立功能。
考慮一個包含以下列和範例資料的資料庫表:
id | type | propertyVal ----+------+------------- 1 | foo | lorum 2 | bar | ipsum
假設我們有PHP 資料型別定義如下:
class ParentClass {...} class Foo extends ParentClass {private $id, $propertyVal; ...} class Bar extends ParentClass {private $id, $propertyVal; ...} // ...(more classes)...
要建立由資料庫型別定義如下:
$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; }執行一個查詢,選擇具有所需id的行。 使用 mysql_fetch_object() 以關聯數組的形式檢索資料。 取得從關聯數組輸入值。 使用下列語法動態建立該類型的物件: $instance = new $type;.從關聯陣列中指派物件的剩餘屬性。 例如:這樣的方式,實例物件將使用類型資料庫列指定的類型動態創建,並且其屬性將被分配所選行中的值。
以上是如何根據資料庫類型動態實例化PHP物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!