拥有一个创建和保护实体对象的通用助手类是不是一种坏习惯? 例如:
class EntityHelper {
public static function createEntity($entityName, array $entityData, EntityManager $em) {
$entity = new $entityName;
$entityFields = $em->getClassMetadata($entityName)->getFieldNames();
foreach ($entityFields as $field) {
if (in_array($field, array_keys($entityData))) {
$entity->{'set' . ucfirst($field)}($entityData[$field]);
}
}
return $entity;
}
}
如果这是一个不好的做法,任何人都可以建议一个更好的方法。
答案 0 :(得分:1)
不确定你在那里做什么(最重要的是:为什么),但你可以看看IoC模式
https://en.wikipedia.org/wiki/Inversion_of_control
Understanding IoC Containers and Dependency Injection
也许是在需要时创建正确类型对象的更好方法。
由于