entityManager = $entityManager; } public function __invoke(UserLogMessage $message) { $repository = $this->entityManager->getRepository(UserProject::class); $user = $repository->findOneBy(["userId" => $message->getUserId()]); if ($user) { $currentDate = new \Datetime(); $method = $message->getMethod(); $content = $message->getContent(); $requestAll = $message->getRequestAll(); $userLog = new UserLog; $userLog->setUser($user); $userLog->setAction($message->getAction()); $userLog->setMethod($method); $userLog->setIp($message->getIp()); $userLog->setPathInfo($message->getPathInfo()); $userLog->setDate($currentDate); $data = null; if ($method == 'POST' || $method == 'PUT') { $data = !empty($content) ? $content : $requestAll; $data = json_encode($data); } $userLog->setData($data); $this->entityManager->persist($userLog); $this->entityManager->flush(); } } }