データベース型から 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)...
データベースの type 列で定義されたタイプのオブジェクトを作成するには、次を利用できます。手順:
例:
$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; }
このようにして、インスタンス オブジェクトはタイプ データベース列で指定されたタイプで動的に作成され、そのプロパティには選択したプロパティの値が割り当てられます。行。
以上がデータベースの種類に基づいて PHP オブジェクトを動的にインスタンス化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。