/** * Shorthand handler to set page name in request service * @author Krzysztof Bednarczyk * @param $pageName * @param array $params * @return $this */ public function setPageName($pageName, $params = []) { $this->response->addHandler(function () use($pageName, $params) { $service = new ServiceHandler("request"); $service->clearHeader("^X-XV-Page"); $service->setHeader("X-XV-Page", $pageName); foreach ($params as $key => $param) { $service->setHeader("X-XV-Page-{$key}", $param); } return $service; }, $this); return $this; }
/** * * @author Krzysztof Bednarczyk * @return AbstractHandler[] */ public function onLoadHandlers() { if ($this->xvResponse) { return $this->xvResponse->getHandlers(); } $multi = new MultiHandler(); $multi->addHandler(function () { $request = new RequestHandler($this->request->getUri()); $request->addHeader("X-XV-First-Request", 1); $request->addHeader("X-XV-Source", "bootstrap"); return $request; }, $this); $multi->addHandler(function () { $service = new ServiceHandler("php.phantom"); $service->setLoaded(); return $service; }, $this); return [$multi]; }
/** * @author Krzysztof Bednarczyk * @return ServiceHandler */ public function getHandler() { $service = new ServiceHandler("ui.sharedPlace"); $service->addComponent($this->getView()); return $service; }