拥有创建实体的辅助类是不是很糟糕

时间:2016-12-09 22:02:50

标签: php

拥有一个创建和保护实体对象的通用助手类是不是一种坏习惯? 例如:

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;
    }
}

如果这是一个不好的做法,任何人都可以建议一个更好的方法。

1 个答案:

答案 0 :(得分:1)

不确定你在那里做什么(最重要的是:为什么),但你可以看看IoC模式

https://en.wikipedia.org/wiki/Inversion_of_control

Understanding IoC Containers and Dependency Injection

也许是在需要时创建正确类型对象的更好方法。

由于