許多應用程式在資料庫中儲存有關物件的資訊。問題是:如何在 PHP 程式碼中表示該資料?物件關係映射 (ORM) 框架可以提供幫助,但它們可能很複雜,而且可能並不總是必要的。
這個答案提供了一個簡單的解決方案,可以根據儲存在 MySQL 資料庫中的字串動態建立 PHP 物件。
問題:
給定一個具有以下內容的MySQL 表schema:
id | type | propertyVal ----+------+------------- 1 | foo | lorum 2 | bar | ipsum
其中id 是唯一標識符,type 是物件類型(例如foo、bar),propertyVal 是屬性值。
任務是建立 PHP類型列中定義的動態類型的對象,並使用表中對應行的資料填充它們。
解決方案:
在PHP 中,您可以使用以下語法動態建立給定類型的物件:
$type = 'myClass'; $instance = new $type;
假設查詢傳回一個關聯數組,您可以指派屬性使用類似的物件語法:
foreach ($row as $property => $value) { $instance->$property = $value; }
實作:
範例:
$row = $result->fetch_assoc(); $type = $row['type']; unset($row['type']); $instance = new $type; foreach ($row as $property => $value) { $instance->$property = $value; }
這個方法允許您從資料庫建立動態對象,而不需要複雜的ORM 框架。對於需要在 PHP 程式碼中將資料庫資料表示為動態物件的許多場景來說,這是一個簡單而有效的解決方案。
以上是如何從 MySQL 字串動態建立 PHP 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!