[FEATURE] Added support for parameters in group prefix.

This commit is contained in:
Simon Sessingø
2021-03-29 16:56:37 +02:00
parent d6bc713e5b
commit b05bbccc28
3 changed files with 46 additions and 12 deletions
+8 -4
View File
@@ -7,6 +7,7 @@ use Pecee\SimpleRouter\Handlers\IExceptionHandler;
class RouteGroup extends Route implements IGroupRoute
{
protected $urlRegex = '/^%s\/?/u';
protected $prefix;
protected $name;
protected $domains = [];
@@ -55,16 +56,19 @@ class RouteGroup extends Route implements IGroupRoute
return false;
}
// Parse parameter
// Parse group prefix parameters
if(count($this->originalParameters) === 0) {
$this->parseParameters($this->prefix, $url);
}
$prefix = $this->prefix;
$parsedPrefix = $this->prefix;
foreach ($this->getParameters() as $parameter => $value) {
$prefix = str_ireplace('{' . $parameter . '}', $value, $prefix);
$parsedPrefix = str_ireplace('{' . $parameter . '}', $value, $parsedPrefix);
}
/* Skip if prefix doesn't match */
if ($this->prefix !== null && stripos($url, $prefix) === false) {
if ($this->prefix !== null && stripos($url, $parsedPrefix) === false) {
return false;
}
@@ -6,14 +6,7 @@ use Pecee\Http\Request;
class RoutePartialGroup extends RouteGroup implements IPartialGroupRoute
{
/**
* RoutePartialGroup constructor.
*/
public function __construct()
{
$this->urlRegex = '/^%s\/?/u';
}
protected $urlRegex = '/^%s\/?/u';
/**
* Method called to check if route matches