Как всегда, есть много решений одной и той же проблемы.Пожалуйста, не обращайте на это внимания, если он не подходит для вашей реализации.
Сохранение шагов регистрации в объекте - хорошая идея, однако каждый раз, когда вы загружаете новую страницу, CI перестраивает все объекты.Чтобы данные сохранялись, они должны храниться в сеансе, но это не значит, что вы должны работать с переменными сеанса в вашем контроллере.
Как вы переносите данные в свое приложение?Это через формы или ajax?
Один из способов сделать это - десериализовать объект из сеанса и сохранить его как объект в конструкторе вашего контроллера.Таким образом, вы все равно можете запустить $ myObj-> function () для него и использовать функцию $ myObj-> save () для повторной инициализации и сохранения.
Надеюсь, это поможет!