public static function create($conn, Doctrine\ORM\Configuration $config, Doctrine\Common\EventManager $eventManager = NULL)
{
if (!$config->getMetadataDriverImpl()) {
throw ORMException::missingMappingDriverImpl();
}
switch (TRUE) {
case is_array($conn):
$conn = DriverManager::getConnection($conn, $config, $eventManager ?: new Doctrine\Common\EventManager());
break;
case $conn instanceof Doctrine\DBAL\Connection:
if ($eventManager !== NULL && $conn->getEventManager() !== $eventManager) {
throw ORMException::mismatchedEventManager();
}
break;
default:
throw new \InvalidArgumentException("Invalid connection");
}
return new EntityManager($conn, $config, $conn->getEventManager());
}