Esempio n. 1
0
 /**
  * @param ShowPostQuery $query
  */
 public function handle(ShowPostQuery $query)
 {
     $requestInfo = $query->getRequestInfo();
     try {
         $postData = $this->blogPostReadService->getPostDataByUrl($requestInfo->getUri());
         $previousPost = $this->blogPostReadService->getPreviousPostOf($postData);
         $nextPost = $this->blogPostReadService->getNextPostOf($postData);
         $page = new ThemePage('Posts/Read/Pages/ShowPost.twig', ['post' => $postData, 'previous' => $previousPost, 'next' => $nextPost]);
         $page->respond();
     } catch (BlogPostDataNotFound $e) {
         $page = new ThemePage('Blog/Read/Pages/Error404.twig', ['requestUri' => $requestInfo->getUri()], Http::NOT_FOUND);
         $page->respond();
     }
 }