如何根據資料庫類型動態實例化PHP物件?

Susan Sarandon
發布: 2024-11-24 15:19:11
原創
652 人瀏覽過

How to Dynamically Instantiate PHP Objects Based on Database Types?

從資料庫類型動態實例化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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板