diff --git a/src/Bridges/ApplicationLatte/Template.php b/src/Bridges/ApplicationLatte/Template.php index c5d429a64..1b05485fa 100644 --- a/src/Bridges/ApplicationLatte/Template.php +++ b/src/Bridges/ApplicationLatte/Template.php @@ -11,6 +11,7 @@ use Latte; use Nette; +use function get_object_vars, is_array; /** @@ -35,22 +36,22 @@ final public function getLatte(): Latte\Engine /** * Renders template to output. - * @param array $params + * @param object|array $params */ - public function render(?string $file = null, array $params = []): void + public function render(?string $file = null, object|array $params = []): void { - Nette\Utils\Arrays::toObject($params, $this); + Nette\Utils\Arrays::toObject(is_array($params) ? $params : get_object_vars($params), $this); $this->latte->render($file ?? $this->file, $this); } /** * Renders template to output. - * @param array $params + * @param object|array $params */ - public function renderToString(?string $file = null, array $params = []): string + public function renderToString(?string $file = null, object|array $params = []): string { - Nette\Utils\Arrays::toObject($params, $this); + Nette\Utils\Arrays::toObject(is_array($params) ? $params : get_object_vars($params), $this); return $this->latte->renderToString($file ?? $this->file, $this); }