コード例 #1
0
 /**
  * Создает новую новость
  * 
  * @param object $app Silex\Application
  * @param object $req Symfony\Component\HttpFoundation\Request
  * @return object Symfony\Component\HttpFoundation\JsonResponse
  * 
  */
 public function createNewPostAction(Application $app, Request $req)
 {
     $model = new PostModel();
     $model->title = $app->escape($req->get('title'));
     $model->img = $app->escape($req->get('img'));
     $model->description = $app->escape($req->get('description'));
     $model->url = UrlService::makeUrlFromSting($model->title);
     $model->text = $app->escape($req->get('text'));
     if ($model->isValid($app['validator'])) {
         if ($model->save()) {
             return new JsonResponse(['success' => true, 'message' => 'Новость успешно добавлена!'], JsonResponse::HTTP_CREATED);
         }
     }
     return new JsonResponse(['success' => false, 'message' => $model->getError()], JsonResponse::HTTP_OK);
 }
コード例 #2
0
 /**
  * Отдает html страницу конкретной новости или 
  * бросает исключение с кодом, если новость не найдена
  * 
  * @param object $app Silex\Application
  * @param string $url 
  * @return string|object html при успехе или 
  * Symfony\Component\HttpKernel\Exception\HttpException
  * при ошибке
  */
 public function showPostAction(Application $app, $url)
 {
     $post = PostModel::find_by_url($url);
     if (!$post) {
         return $app->abort(404);
     }
     return $app['twig']->render('post.twig', ['post' => $post]);
 }