*
  • * Gib "irgendöpis" mit dem {@code echo} command aus. *
  • *
  • * Ändere die Antwort nun zu einem gültigen json objekt {"hello" => "world"}. Übergebe dafür ein array der * Methode {@see $this->sendJson()}. *
  • *
  • * Implementiere und nutze die Methode {@see ArticleDao::getArticleById()}, um das entsprechende Artikel-Objekt * aus der Datenbank zu lesen und gebe diese anschliessend im JSON Format zurück. * * Das Article-Objekt kannst du einfach {@see $this->sendJson()} übergeben, um einen validen JSON-Response zu * generieren. *
  • *
  • * Kann der Artikel nicht gefunden werden, werfe eine {@link PageNotFoundException}. *
  • * * * @param int $articleId * @return void * @throws PageNotFoundException if Article could not be found. */ function getDoArticle(int $articleId): void { $out = array($articleId=>$this->articleDao->getArticleById($articleId)); if (in_array(null, $out, true)) { throw new PageNotFoundException(); } $this->sendJson($out); // $article = $this->articleDao->getArticleById($articleId); // if ($article === null) { // throw new PageNotFoundException(); // } // $this->sendJson($article); } /** * Diese Methode kannst du im Browser testen. Pfad: localhost/[ordner name vom projekt]/src-php/public/api/articles * * * * @param string|null $categoryName * @return void */ function getDoArticles(string $categoryName = null): void { if ($categoryName == null) { $this->sendJson($this->articleDao->getArticles()); } else { $this->sendJson($this->articleDao->getArticlesByCategoryName($categoryName)); } } /** * Speichere einen Artikel. * * * * Nenne die Methode {@see saveArticle(Article $article)} * * @return void */ function postDoArticle(ParamBody $body): void { $inArr = $body->parseJson(); if ($inArr['categoryName'] === 'international' || $inArr['categoryName'] === 'national' || $inArr['categoryName'] === 'sport') { $this->beginTransaction(); $article = new Article('Testy'); $article->setTitle($inArr['text']); $article->setCategoryName($inArr['categoryName']); $article->setText($inArr['text']); $this->articleDao->saveArticle($article); $this->commit(); } else { throw new BadRequestException(); } } /** * Editiere einen Artikel. * * * * @return void */ function putDoArticle(int $articleId, ParamBody $body): void { $inArr = $body->parseJson(); if ($inArr['categoryName'] === 'international' || $inArr['categoryName'] === 'national' || $inArr['categoryName'] === 'sport') { $article = $this->articleDao->getArticleById($articleId); $this->beginTransaction(); $article->setText($inArr['text']); $article->setTitle($inArr['title']); $article->setCategoryName($inArr['categoryName']); $this->articleDao->saveArticle($article); $this->commit(); } else { throw new BadRequestException(); } // $inArr = $body->parseJson(); // // if (!($inArr['categoryName'] === 'international' // || $inArr['categoryName'] === 'national' // || $inArr['categoryName'] === 'sport')) { // throw new BadRequestException(); // } // // $article = $this->articleDao->getArticleById($articleId); // $this->beginTransaction(); // $article->setText($inArr['text']); // $article->setTitle($inArr['title']); // $article->setCategoryName($inArr['categoryName']); // $this->articleDao->saveArticle($article); // $this->commit(); } /** * Löscht den {@see Article} mit der dazugehörigen Id. * *