public function dispatch($request, $response) { session_start(); if ($request->isPost() === true) { $title = $request->postParameter('title'); $body = $request->postParameter('body'); $summary = $request->postParameter('summary'); ArticleService::saveArticleInSession('_new', $title, $body, $summary); $response->redirect('/admin.php/create/preview/_new'); } else { if ($request->isGet() === true) { // treat as GET $article_id = $request->getParameter('id'); if (isset($article_id) && ArticleService::isArticleInSession($article_id)) { $model = ArticleService::getArticleFromSession($article_id); $view = new CreateArticleView(new CreateArticleViewAdapter($model)); } else { $view = new CreateArticleView(new CreateArticleViewAdapter(ArticleService::nullArticle())); } $view->render(); } } }