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::__call * @expectedException InvalidArgumentException */ public function testExceptionIsRaisedWhenRequestUriIsNotSet() { $request = new Request(); $request->getServer('REQUEST_URI'); }