/** * {@inheritdoc} */ public function execute(\Exception $exception) { error_log($exception->getMessage() . " " . $exception->getFile() . "(" . $exception->getLine() . ")"); if (!$this->environment->isDebug()) { return; } $presenter = new HTTPErrorPresenter($this->environment); $response = new Response(); $response->setContent($exception); $request = new EmptyRequest('', null); $presenter->render($request, $response); }
/** * Support status code 4XX-5XX. * * @param Request $request * @param Response $response */ private function displayError(Request $request, Response $response) { $exception = $response->getContent(); $data = array('statusCode' => $response->getStatusCode(), 'message' => $exception->getMessage(), 'exception' => get_class($exception), 'file' => $exception->getFile(), 'line' => $exception->getLine()); if ($this->environment->isDebug()) { echo $this->twig->render('error.twig', $data); } else { echo $this->twig->render($response->getStatusCode() . '.twig'); } }
/** * * @param Environment $environment * @param EventManager $eventManager * @param string $driver * @param string $username * @param string $password * @param string $dbname * @param string $host * @param int $port */ public function __construct(Environment $environment, EventManager $eventManager, $driver, $username, $password, $dbname, $host, $port) { $paths = array(); $eventHandler = new EventHandler($eventManager); $dbParams = array('driver' => $driver, 'user' => $username, 'password' => $password, 'dbname' => $dbname, 'host' => $host, 'charset' => 'utf8'); $config = Setup::createAnnotationMetadataConfiguration($paths, $environment->isDebug(), $environment->getCachePath()); $this->entityManager = EntityManager::create($dbParams, $config); $this->entityManager->getEventManager()->addEventListener(array('onFlush'), $eventHandler); $this->entityManager->getEventManager()->addEventListener(array('postFlush'), $eventHandler); }