framework/helpers/BaseUrl.php
public static function current(array $params = [], $scheme = false)
    {
        $currentParams = Yii::$app->getRequest()->getQueryParams();
        $currentParams[0] = '/' . Yii::$app->controller->getRoute();
        $route = array_replace_recursive($currentParams, $params);
        return static::toRoute($route, $scheme);
    }
public static function current(array $params = [], $scheme = false)
    {
        $currentParams = Yii::$app->getRequest()->getQueryParams();
        $currentParams[0] = '/' . Yii::$app->controller->getRoute();
        $route = array_replace_recursive($currentParams, $params);
        return static::toRoute($route, $scheme);
    }
Creates a URL by using the current route and the GET parameters.

You may modify or remove some of the GET parameters, or add additional query parameters through
the `$params` parameter. In particular, if you specify a parameter to be null, then this parameter
will be removed from the existing GET parameters; all other parameters specified in `$params` will
be merged with the existing GET parameters. For example,

```php
// assume $_GET = ['id' => 123, 'src' => 'google'], current route is "post/view"

// /index.php?r=post%2Fview&id=123&src=google
echo Url::current();

// /index.php?r=post%2Fview&id=123
echo Url::current(['src' => null]);

// /index.php?r=post%2Fview&id=100&src=google
echo Url::current(['id' => 100]);
```

Note that if you're replacing array parameters with `[]` at the end you should specify `$params` as nested arrays.
For a `PostSearchForm` model where parameter names are `PostSearchForm[id]` and `PostSearchForm[src]` the syntax
would be the following:

```php
// index.php?r=post%2Findex&PostSearchForm%5Bid%5D=100&PostSearchForm%5Bsrc%5D=google
echo Url::current([
$postSearch->formName() => ['id' => 100, 'src' => 'google'],
]);
```

@param array $params an associative array of parameters that will be merged with the current GET parameters.
If a parameter value is null, the corresponding GET parameter will be removed.
@param bool|string $scheme the URI scheme to use in the generated URL:

- `false` (default): generating a relative URL.
- `true`: returning an absolute base URL whose scheme is the same as that in [[\yii\web\UrlManager::$hostInfo]].
- string: generating an absolute URL with the specified scheme (either `http`, `https` or empty string
for protocol-relative URL).

@return string the generated URL
@since 2.0.3