예제 #1
0
 /**
  * Creates an Article object based on a DB row.
  *
  * @param array $row The DB row containing Article data.
  * @return \MicroCMS\Domain\Article
  */
 protected function buildDomainObject($row)
 {
     $article = new Article();
     $article->setId($row['art_id']);
     $article->setTitle($row['art_title']);
     $article->setContent($row['art_content']);
     return $article;
 }
예제 #2
0
 /**
  * Creates an Article object based on a DB row.
  *
  * @param array $row The DB row containing Article data.
  * @return \MicroCMS\Domain\Article
  */
 private function buildArticle(array $row)
 {
     $article = new Article();
     $article->setId($row['art_id']);
     $article->setTitle($row['art_title']);
     $article->setContent($row['art_content']);
     return $article;
 }
예제 #3
0
 /**
  * API create article controller.
  *
  * @param Request $request Incoming request
  * @param Application $app Silex application
  *
  * @return Article details in JSON format
  */
 public function addArticleAction(Request $request, Application $app)
 {
     // Check request parameters
     if (!$request->request->has('title')) {
         return $app->json('Missing required parameter: title', 400);
     }
     if (!$request->request->has('content')) {
         return $app->json('Missing required parameter: content', 400);
     }
     // Build and save the new article
     $article = new Article();
     $article->setTitle($request->request->get('title'));
     $article->setContent($request->request->get('content'));
     $app['dao.article']->save($article);
     $responseData = $this->buildArticleArray($article);
     return $app->json($responseData, 201);
     // 201 = Created
 }
예제 #4
0
    // Create and return a JSON response
    return $app->json($responseData);
})->bind('api_article');
// API : create a new article
$app->post('/api/article', function (Request $request) use($app) {
    // Check request parameters
    if (!$request->request->has('title')) {
        return $app->json('Missing required parameter: title', 400);
    }
    if (!$request->request->has('content')) {
        return $app->json('Missing required parameter: content', 400);
    }
    // Build and save the new article
    $article = new Article();
    $article->setTitle($request->request->get('title'));
    $article->setContent($request->request->get('content'));
    $app['dao.article']->save($article);
    // Convert an object ($article) into an associative array ($responseData)
    $responseData = array('id' => $article->getId(), 'title' => $article->getTitle(), 'content' => $article->getContent());
    return $app->json($responseData, 201);
    // 201 = Created
})->bind('api_article_add');
// API : delete an existing article
$app->delete('/api/article/{id}', function ($id, Request $request) use($app) {
    // Delete all associated comments
    $app['dao.comment']->deleteAllByArticle($id);
    // Delete the article
    $app['dao.article']->delete($id);
    return $app->json('No Content', 204);
    // 204 = No content
})->bind('api_article_delete');