. */ namespace Volkszaehler\Logger; use Volkszaehler\View\HTTP; use Doctrine\ORM; use Volkszaehler\Model; /** * Interface for parsing diffrent logging APIs (google, flukso etc..) * * @author Steffen Vogel * @package default * @todo to be implemented */ interface LoggerInterface { public function __construct(HTTP\Request $request, ORM\EntityManager $em); /** * @return array of Model\Data */ public function getData(); public function getVersion(); } /** * * @author Steffen Vogel * @package default * @todo to be implemented */ abstract class Logger implements LoggerInterface { protected $request; protected $em; /** * Constructor * * @param HTTP\Request $request * @param ORM\EntityManager $em */ public function __construct(HTTP\Request $request, ORM\EntityManager $em) { $this->request = $request; $this->em = $em; } /** * */ public function log() { $data = $this->getData(); if (!is_array($data)) { $data = array($data); } foreach ($data as $reading) { $this->em->persist($reading); } $this->em->flush(); } } ?>