private function getRepositoryFullClassName($class, $pointOfView)
{
$expl = explode('\\', $class);
if (1 === count($expl)) {
$expl2 = explode('\\', $pointOfView);
if (1 !== count($expl2)) {
unset($expl2[count($expl2) - 1]);
$class = sprintf('%s\\%s', implode('\\', $expl2), $class);
}
}
if (!class_exists($class)) {
throw new \RuntimeException(sprintf('The class "%s" could not be found', $class));
}
$reflClass = new \ReflectionClass($class);
if (!$reflClass->isSubclassOf(BaseRepository::class)) {
throw new \RuntimeException(sprintf('Custom repository class "%s" must extend "%s"', $class, BaseRepository::class));
}
return $class;
}