public function dispatch(RequestInterface $request) { $flow = new Flow($this->selectMiddleware($request)); if (isset($this->logger)) { $flow->setLogger($this->logger); } return $flow->flow(); }
public function dispatch(RequestInterface $request) { if ($this->logger) { $this->logger->info(sprintf('Handling request "%s %s"', $request->getMethod(), $request->getUri()->getPath())); } $middleware = array(); foreach (array_reverse($this->layers) as $layer) { if ($layerMiddleware = $layer->selectMiddleware($request)) { $middleware = array_merge($middleware, $layerMiddleware); } } $flow = new Flow($middleware); if (isset($this->logger)) { $flow->setLogger($this->logger); } return $flow->flow(); }
private static function renderTemplateAsync(Template $tpl) { $partial = $tpl->__toString(); // render, but component will provide only placeholders $ret = Flow::run(self::$components); $html = preg_replace_callback('/\\x01(\\d+)\\x02/', function ($m) use($ret) { return $ret[$m[1]]; }, $partial); return $html; }
public function render() { if (Helpers::$async) { echo Helpers::addComponent($this); // output placeholder } else { echo Flow::run([$this])[0]; // eager eval } }