Html::a('Ticket', ['ticket'])
будет вести на ticket/default/index
, то есть, на модуль ticket, контроллер default и действие index. Очерёдность правила в массиве тоже играет роль. /partner/default/rules
у Вас вообще нет правила, ни одно из трёх Ваших правил не сработает и поэтому Вы получаете /partner/default/rules
'<_m:[\w\-]+>' => '<_m>/default/index',
ищет определённый модуль, его контроллер default и действие index. Если убрать регулярное выражение, то будет выглядеть так 'ticket' => 'ticket/default/index',
. Так же оно сработает и для остальных модулей.'<_m:[\w\-]+>/<_c:[\w\-]+>/<_a:[\w\-]+>' => '<_m>/<_c>/<_a>',
сработает для /partner/default/rules
, а чтобы убрать в этом случае default надо его немного изменить'<_m:[\w\-]+>/<_a:[\w\-]+>' => '<_m>/default/<_a>'
, тогда ссылка partner/rules
должна будет привести к /partner/default/rules
, и опять же, будет играть роль то, что в какой последовательности эти правила будут идти.
Какие могут быть проблемы? Он это обязательно спросит. То, что через подстановку напрямую данных в запрос можно положить базу данных я уже сказал.
Я имел ввиду то, что возможно предыдущий разработчик хотел таким образом упростить код, повысить скорость работы сайта или что-то ещё хотел этим добиться. "не очень много опыта" в смысле, что я не так много видел кода и возможно что-то не понимаю. А переписать опыта хватит))) Если что-то не буду знать - есть toster)))