From 5182ba19bc1f000460ff0a5b96540e4a2204b3d1 Mon Sep 17 00:00:00 2001 From: Dave Mc Nicoll Date: Wed, 19 Apr 2023 13:23:29 -0400 Subject: [PATCH] - Fixed optional arguments in buildUrl() --- src/Extension/UrlExtension.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Extension/UrlExtension.php b/src/Extension/UrlExtension.php index 691d5dc..598c782 100644 --- a/src/Extension/UrlExtension.php +++ b/src/Extension/UrlExtension.php @@ -249,12 +249,13 @@ PATTERN; if ($default ?? false) { $value = $default; } - elseif ($this->enforceExistingArguments) { + elseif ($this->enforceExistingArguments && ! strpos($route, sprintf('[/{%s:', $variable)) ) { throw new \RuntimeException(sprintf("Error while preparing route %s : could not match variable '%s' into given arguments ( %s )", $route, $variable, json_encode($arguments))); } } - $search[ $item[0] ] = $value; + $search[$item[0]] = $value ?? ""; + } $route = str_replace(array_keys($search), array_values($search), $route);