Обычно вы кешируете что-то подобное в сеансе, однако я отошел от этого в большинстве моих приложений CI.
Пример: вы регистрируете пользователя (кэшируете данные пользователя)а затем они идут, чтобы обновить свою электронную почту на странице своего профиля.Теперь вам нужно перезагрузить кеш.Многие другие вещи могут привести к этой перезагрузке.Обычно самое большее, что я кеширую - это идентификатор, затем я делаю то, что вы делаете, и выкладываю данные пользователя на любую нужную мне страницу.
Одна вещь, которая мне показалась полезной, это иметь базуконтроллеры .Например, у меня есть RegisteredUserController.Любой контроллер, все действия которого требуют входа пользователя в систему, расширяет это.Таким образом, я могу сохранить зарегистрированную проверку и такие вещи, как получение пользовательских данных в одном месте (в конструкторе).Например:
class RegisteredUserController extends CI_Controller {
var $user;
function __construct() {
parent::__construct();
$this->user = $this->ion_auth->get_user();
}
}
Тогда любой контроллер, который расширяет RegisteredUserController
вместо просто контроллера, может получить пользователя с помощью $this->user
.Следуя этой схеме, вы получите ее на каждой странице (которая расширяет контроллер), не прибегая к кешированию.