Почему Url::to возвращает значение массива rules, а не ключ?

 'rules' => [
      'wow/<id:\d+>' => 'site/view',
],

в классе actionView:

 var_dump(Url::to(['site/view']));

В итоге возвращает site/view; Как получить ключ массива, а не значение?


Ответы (2 шт):

Автор решения: fedornabilkin

Вопрос, конечно странный, но если надо получить ключ массива по значению, то сделать это можно так.

$rules = [
  'wow/<id:\d+>' => 'site/view',
];
$key = array_search('site/view', $rules);

echo $key;
→ Ссылка
Автор решения: zabachok

Полагаю, что вы хотите сгенерировать адрес страницы и получить что-то вроде /wow/1. Если так, то вы забываете добавить параметр с идентификатором.

Url::to(['site/view', 'id' => 1])

Такой вызов даст в результате строку /wow/1 или /index.php?r=site/view&id=1, если у вас отключены ЧТУ.

→ Ссылка