MC Додик, нет, не логично.
По нажатию на "восстановить пароль" или высылаете временный, с предупреждением сменить в ближайшее время или ссылку на страницу восстановления на которой предлагаете придумать новый пароль.
я использую его в модели User. Такая цепочка для чистоты.
illy_Chuchelo, не вижу смысла.
Вот мой вопрос, подобный Вашему.
Три отдельных действия в контролере делать не обязательно, можно передавать какой-либо "флаг" и по нему определять какой сейчас шаг.
При переходе между "шагами" формы отправляйте ajax, cookies ставьте и читайте при помощи yii. Если будете ставить при помощи js или ещё как-то - возможны проблемы.
Используйте cookie для сохранения шагов регистрации.
Метод register() сомнителен.
Вместо return $user->create(); будет уместней return $user->save(false);
Максим Ленский, в yii2 предусмотрена подсветка активных пунктов меню при использовании виджетов, который выводят разные меню. Так, что Ваш вариант для yii2 это обычный костыль, даже можно назвать его ****кодом.
По нажатию на "восстановить пароль" или высылаете временный, с предупреждением сменить в ближайшее время или ссылку на страницу восстановления на которой предлагаете придумать новый пароль.