public function execute(Request $request, Response $response) { try { $id = $request->get('id'); } catch (\OutOfBoundsException $e) { throw new Exception('No bank account was specified.'); } try { $ba = $this->mapper->findById($id); } catch (\OutOfBoundsException $e) { throw new Exception(sprintf('No bank account with id #%d exists.', $id)); } $response->set('id', $id); $response->set('balance', $ba->getBalance()); return 'bankaccount\\view\\BankAccount'; }
public function route(Request $request) { $parts = explode('/', $request->getServer('REQUEST_URI')); unset($parts[0]); $controller = array_shift($parts); if (!isset($this->values[$controller])) { throw new Exception(); } if (count($parts) % 2 != 0) { throw new Exception(); } $keys = array_keys($parts); $count = count($keys); for ($i = 0; $i < $count; $i += 2) { $request->set($parts[$keys[$i]], $parts[$keys[$i + 1]]); } return $this->values[$controller]; }
/** * @covers bankaccount\framework\http\Request::__construct * @covers bankaccount\framework\http\Request::getURI */ public function testRequestUriCanBeRetrieved() { $request = new Request('/'); $this->assertEquals('/', $request->getURI()); }
/** * @covers bankaccount\framework\http\Request::__call * @expectedException BadMethodCallException */ public function testExceptionIsRaisedWhenIllegalVariableTypeIsRequested() { $request = new Request(); $request->getFoo('bar'); }