requestStack = $request_stack; $this->paths = new \SplObjectStorage(); } /** * Returns the path of the current request. * * @param \Symfony\Component\HttpFoundation\Request $request * (optional) The request. * * @return string * Returns the path, without leading slashes. */ public function getPath(Request $request = NULL) { if (!isset($request)) { $request = $this->requestStack->getCurrentRequest(); } if (!isset($this->paths[$request])) { $this->paths[$request] = $request->getPathInfo(); } return $this->paths[$request]; } /** * Sets the current path. * * @param string $path * The path. * @param \Symfony\Component\HttpFoundation\Request $request * (optional) The request. * * @return $this */ public function setPath($path, Request $request = NULL) { if (!isset($request)) { $request = $this->requestStack->getCurrentRequest(); } $this->paths[$request] = $path; return $this; } }