Использую фреймворк Yii2. В конфигурации есть правило для UrlManager'а: PHP: .... 'components'=>[ ... 'urlManager'=>[ 'enablePrettyUrl'=>true, 'showScriptName'=>false, 'rules'=>[ ... [ 'pattern'=>'<some-param>/some-page', 'route'=>'some/route', 'defaults'=>['some-param'=>'default-value'] ], ... ] ], ... ] .... В коде, во многих местах используется этот роут: echo Html::a('Some page', ['some/route']); Но вместо формирования ссылки с дефолтным параметром: default-value/some-page формируется не правильная ссылка: some/route Вопрос: Для чего в rules можно прописывать defaults если они не подставляются при формировании ссылок? По идее defaults значения для этого и нужны, что если где то при формировании ссылки не указаны параметры, значит надо поставить дефолтные значения.
defaults нужны для другого. В таком виде не знаю, как будет работать, а вот в таком: Код (PHP): [ 'pattern' => 'posts/<page:\d+>/<tag>', 'route' => 'post/index', 'defaults' => ['page' => 1, 'tag' => ''], ], при вызове просто /posts будут подставлены 1 вместо page и '' вместо tag.[/code]
@mkramer но, то что предлагает автор поста, было уместно добавить Yii2. Он говорит об создании ссылки, а не совпадении пути.
Можно предложить. Тем более что на http://yiiframework.ru/forum/ постоянно тусуется и отвечает на вопросы один из соавторов фреймворка, и там есть тема с предложениями. Но в данный момент такой функционал отсутствует.