function getRepositoryByName($name) { $repoFromDb = getRepositoryByNameSoft($name); if ($repoFromDb == null) { createRepository($name); $repoFromDb = getRepositoryByNameSoft($name); } if ($repoFromDb == null) { throw new Exception('Could not find repo by name: ' . $name); } else { $repo = new Repo(); $repo->fromDatabase($repoFromDb); return $repo; } }