summaryrefslogtreecommitdiff
path: root/src/Concerns/CreatesGroups.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Concerns/CreatesGroups.php')
-rw-r--r--src/Concerns/CreatesGroups.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Concerns/CreatesGroups.php b/src/Concerns/CreatesGroups.php
index 4a2b862..ae178a0 100644
--- a/src/Concerns/CreatesGroups.php
+++ b/src/Concerns/CreatesGroups.php
@@ -6,6 +6,7 @@ namespace Lightscale\Router\Concerns;
use Lightscale\Router\Contracts\Middleware;
use Lightscale\Router\Group;
+use Lightscale\Router\GroupDefinition;
trait CreatesGroups
{
@@ -38,4 +39,18 @@ trait CreatesGroups
middleware: $value,
);
}
+
+ /** @param callable(GroupDefinition): void $cb */
+ public function group(callable $cb): Group
+ {
+ $group = new Group(
+ router: $this->getRouter(),
+ parent: $this->getGroup(),
+ );
+ ($cb)(new GroupDefinition(
+ $group
+ ));
+
+ return $group;
+ }
}