entityName = $entityName; $this->entityFactory = $entityFactory; $this->seed = $this->entityFactory->create($entityName); $this->entityClassName = get_class($this->seed); $this->entityManager = $entityManager; } protected function getEntityFactory() { return $this->entityFactory; } protected function getEntityManager() { return $this->entityManager; } public function getEntityType() { return $this->entityType; } abstract public function get($id = null); abstract public function save(Entity $entity); abstract public function remove(Entity $entity); abstract public function find(array $params); abstract public function findOne(array $params); abstract public function getAll(); abstract public function count(array $params); }