public function group($prefix, $options, $handler = null)
    {
        if (!is_array($options)) {
            $handler = $options;
            if (is_string($prefix)) {
                $options = [];
            } else {
                $options = $prefix;
                $prefix = '';
            }
        }
        if (!$handler instanceof Closure && !method_exists($handler, '__invoke')) {
            throw new RouterException("The handler needs to be an instance of `Closure` or implements the `__invoke()` magic method.");
        }

        $options['prefix'] = isset($options['prefix']) ? $options['prefix'] : $prefix;

        $scope = $this->scope();

        $this->pushScope($scope->seed($options));

        $handler($this);

        return $this->popScope();
    }
public function group($prefix, $options, $handler = null)
    {
        if (!is_array($options)) {
            $handler = $options;
            if (is_string($prefix)) {
                $options = [];
            } else {
                $options = $prefix;
                $prefix = '';
            }
        }
        if (!$handler instanceof Closure && !method_exists($handler, '__invoke')) {
            throw new RouterException("The handler needs to be an instance of `Closure` or implements the `__invoke()` magic method.");
        }

        $options['prefix'] = isset($options['prefix']) ? $options['prefix'] : $prefix;

        $scope = $this->scope();

        $this->pushScope($scope->seed($options));

        $handler($this);

        return $this->popScope();
    }
public function group ( $ prefix , $ options , $ handler = null ) { if ( ! is_array ( $ options ) ) { $ handler = $ options ; if ( is_string ( $ prefix ) ) { $ options = [ ] ; } else { $ options = $ prefix ; $ prefix = '' ; } } if ( ! $ handler instanceof Closure && ! method_exists ( $ handler , '__invoke' ) ) { throw new RouterException ( "The handler needs to be an instance of `Closure` or implements the `__invoke()` magic method." ) ; } $ options [ 'prefix' ] = isset ( $ options [ 'prefix' ] ) ? $ options [ 'prefix' ] : $ prefix ; $ scope = $ this -> scope ( ) ; $ this -> pushScope ( $ scope -> seed ( $ options ) ) ; $ handler ( $ this ) ; return $ this -> popScope ( ) ; }
Groups some routes inside a new scope.

@param  string|array  $prefix  The group's prefix pattern or the options array.
@param  Closure|array $options An array of options or the callback handler.
@param  Closure|null  $handler The callback handler.
@return object                 The newly created scope instance.
Groups some routes inside a new scope .