This repository has been archived on 2026-07-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
espocrm-base/application/Espo/ORM/RepositoryFactory.php
T
2014-01-23 19:59:16 +02:00

42 lines
929 B
PHP

<?php
namespace Espo\ORM;
class RepositoryFactory
{
protected $entityFactroy;
protected $entityManager;
protected $defaultRepositoryClassName = '\\Espo\\ORM\\Repository';
public function __construct(EntityManager $entityManager, EntityFactory $entityFactroy)
{
$this->entityManager = $entityManager;
$this->entityFactroy = $entityFactroy;
}
public function create($name)
{
$className = $this->entityManager->normalizeRepositoryName($name);
if (!class_exists($className)) {
$className = $this->defaultRepositoryClassName;
}
$repository = new $className($name, $this->entityManager, $this->entityFactroy);
return $repository;
}
protected function normalizeName($name)
{
return $name;
}
public function setDefaultRepositoryClassName($defaultRepositoryClassName)
{
$this->defaultRepositoryClassName = $defaultRepositoryClassName;
}
}