/** * @param ServerRequestInterface $request * @param ResponseInterface $response * @return ResponseInterface */ public function onPost(ServerRequestInterface $request, ResponseInterface $response) { /** @var UploadedFile $upload */ $uploaded = $request->getUploadedFiles(); $upload = $uploaded['up'][0]; $viewData = $this->responder->getViewData()->setData('isUploaded', true)->setData('dump', print_r($uploaded, true))->setData('upload', $upload)->setData('error_code', $upload->getError()); return $this->viewer->__invoke($request, $response, $viewData); // callable }
/** * renders $view and returns a new $response. * * @param ServerRequestInterface $request * @param ResponseInterface $response * @param ViewDataInterface $viewData * @return ResponseInterface */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response, $viewData) { $data = $viewData->getData(); if (!isset($data['isUploaded']) || !$data['isUploaded']) { $viewData->setSuccess('Please upload a file (max 512 byte). '); return $this->responder->view($request, $response)->render('upload', $viewData); } $this->setUpMessage($viewData); return $this->responder->view($request, $response)->render('upload', $viewData); }
/** * @param ServerRequestInterface $req * @param ResponseInterface $res * @param Exception $e * @return ResponseInterface */ public function __invoke(ServerRequestInterface $req, ResponseInterface $res, $e) { $viewData = $this->responder->getViewData()->setError('Error.' . $e->getMessage()); return $this->responder->error($req, $res)->asView(501, $viewData); }
/** * @param ServerRequestInterface $req * @param ResponseInterface $res * @return ResponseInterface */ public function __invoke(ServerRequestInterface $req, ResponseInterface $res) { return $this->responder->error($req, $res)->notFound(); }
/** * @param Request $request * @param Response $response * @return ResponseInterface */ public function forbidden(Request $request, Response $response) { return $this->responder->error($request, $response)->forbidden(); }
/** * take care the uploaded file. * show the upload form with uploaded file information. * * @param ServerRequestInterface $request * @param ResponseInterface $response * @return ResponseInterface */ public function onPost(ServerRequestInterface $request, ResponseInterface $response) { $viewData = $this->responder->getViewData()->setSuccess('redirected back!')->setInputData($request->getParsedBody())->setInputErrors(['jumped' => 'redirected error message']); return $this->responder->redirect($request, $response)->toPath('jump', $viewData); }