diff options
| author | Sam Light <sam@lightscale.co.uk> | 2026-06-10 19:24:17 +0100 |
|---|---|---|
| committer | Sam Light <sam@lightscale.co.uk> | 2026-06-10 19:24:17 +0100 |
| commit | d2a3da17cea4e172949ceac033e2455be0466b94 (patch) | |
| tree | 5eecab89f973ccd867ce881db17558cf5bfb0482 /src/Concerns | |
| parent | 13388b70c53952b6c1e637c38cb1b86d3b90c04e (diff) | |
creates group can directly create a group
Diffstat (limited to 'src/Concerns')
| -rw-r--r-- | src/Concerns/CreatesGroups.php | 15 |
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; + } } |
