yii\helpers\BaseUrl::current PHP Method

current() public static method

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'], ]);
Since: 2.0.3
public static current ( array $params = [], boolean | string $scheme = false ) : string
$params array 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.
$scheme boolean | string 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
    public static function current(array $params = [], $scheme = false)
    {
        $currentParams = Yii::$app->getRequest()->getQueryParams();
        $currentParams[0] = '/' . Yii::$app->controller->getRoute();
        $route = ArrayHelper::merge($currentParams, $params);
        return static::toRoute($route, $scheme);
    }

Usage Example

 protected function renderMenu()
 {
     $html = [];
     $html[] = '<div class="list-group">';
     foreach ($this->items as $item) {
         if (BaseUrl::current() == $item['url']) {
             $html[] = $this->renderActiveItem($item);
         } else {
             $html[] = $this->renderItem($item);
         }
     }
     $html[] = '</div>';
     return implode($html);
 }
All Usage Examples Of yii\helpers\BaseUrl::current