У меня есть около 10 сущностей: \App\Entity\User, \App\Entity\Group,…
Для каждой из них есть свои репозитории: \App\Repository\UserRepository,… В каждом с дюжину методом.
В Доктрине для доступа к ним используется метод:
$userRepository = $em->getRepository('App\Entity\User');
Однако это не удобно, т.к. пропадает code completion.
Вопрос: как правильно организовать работу с репозиториями, не увеличив статическую связность кода?
Стоит ли использовать статический get метод?
class UserRepository extends EntityRepository
{
/**
* @static
* @return \App\Repository\UserRepository
*/
public static function get()
{
$em = \Registry::getInstance()->get('em');
return $em->getRepository('App\Entity\User');
}
}
Смотрел как реализована работа с доктриной в симфонии, но там та же проблема с code completion.