У меня есть класс DashboardService (определенный как служба в symfony2), я использую его для вызова некоторых методов, чтобы получить результаты (только запросы) из некоторых репозиториев и отобразить данные.
class DashboardService {
/**
* @var EntityManager
*/
private $em;
public function __construct(EntityManager $em) {
$this->em = $em;
}
public function getTotalActiveCampaignsByMonth($month) {
$campaigns = $this->em->getRepository("WMAdminBundle:Campaign")->countAllActiveCampaignsByMonth($month);
return $campaigns;
}
public function getTotalContactsByMonth($month) {
$contacts = $this->em->getRepository("WMAdminBundle:Contact")->countAllContactsSentByMonth($month);
return $contacts;
}
public function getTotalCAByMonth($month) {
$ca = $this->em->getRepository("WMAdminBundle:ContactCampaign")->getAllCAByMonth($month);
return $ca;
}
public function getTop10RentabilityCampaigns() {
$campaigns = $this->em->getRepository("WMAdminBundle:Campaign")->findAllTop10Rentability();
return $campaigns;
}
public function getTop10ContactCampaigns() {
$campaigns = $this->em->getRepository("WMAdminBundle:Campaign")->findAllTop10Contacts();
return $campaigns;
}
}
Является ли этот класс ООП-схемой или чем-то еще?
это как базовый сервис приложений в типичной многоуровневой архитектуре.
Службы приложений : Используется внешними потребителями для общения с вашей системой (например, веб-сервисы). Если потребителям нужен доступ к операциям CRUD, они будут выставлены здесь.
Других решений пока нет …