많은 애플리케이션이 객체에 대한 정보를 데이터베이스에 저장합니다. 문제는 PHP 코드에서 해당 데이터를 어떻게 표현하는가입니다. ORM(객체 관계형 매핑) 프레임워크가 도움이 될 수 있지만 복잡할 수 있고 항상 필요한 것은 아닙니다.
이 답변은 MySQL 데이터베이스에 저장된 문자열을 기반으로 PHP 객체를 동적으로 생성하는 간단한 솔루션을 제시합니다.
문제:
다음과 같은 MySQL 테이블이 주어졌습니다. 스키마:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!