/** * @param string $template * @param array $params * @return null|string */ public function render($template, array $params = []) { $result = null; foreach ($this->strategies as $strategy) { if ($strategy->canRender($template)) { $result = $strategy->render($template, $params); } if (null !== $result) { break; } } if (null === $result) { $result = $this->fallbackStrategy->render($template, $params); } return $result; }