zend-blog-3-backend
49 строк · 964.0 Байт
1<?php
2/**
3* Created by PhpStorm.
4* User: morontt
5* Date: 26.08.17
6* Time: 17:28
7*/
8
9namespace App\Service;
10
11use App\Entity\TrackingAgent;
12use Doctrine\ORM\EntityManager;
13use Doctrine\ORM\EntityManagerInterface;
14
15class Tracking
16{
17/**
18* @var EntityManager
19*/
20protected $em;
21
22/**
23* @param EntityManagerInterface $em
24*/
25public function __construct(EntityManagerInterface $em)
26{
27$this->em = $em;
28}
29
30/**
31* @param string $agentName
32*
33* @return TrackingAgent
34*/
35public function getTrackingAgent(string $agentName): TrackingAgent
36{
37$hash = md5($agentName);
38$agent = $this->em->getRepository(TrackingAgent::class)->findOneByHash($hash);
39if (!$agent) {
40$agent = new TrackingAgent();
41$agent->setUserAgent($agentName);
42
43$this->em->persist($agent);
44$this->em->flush($agent);
45}
46
47return $agent;
48}
49}
50