Не используйте Singleton! Это не лучше, чем прославленное объектно-ориентированное пространство имен, на самом деле Singleton почти так же плохо, как использование глобальных переменных, и лишь немного лучше, чем использование глобальных библиотек функцийчто само по себе тоже плохо). Лучше отправлять созданный объект вашим классам.
Поскольку объекты PHP 5, передаваемые другим объектам, по умолчанию передаются по ссылке.Они не создают новый экземпляр (если не используют ключевое слово clone).Это позволяет просто передавать любую информацию о сеансе в качестве объекта другим объектам, которые в ней нуждаются.
Лучшее, что я могу порекомендовать, - это создать класс 'Session', который содержит информацию о сеансе.Отправьте этот класс вашим объектам MVC.Это позволяет вам тестировать систему без присутствия Session (или вы можете создать для этого состояние макета).Хотя передача одного объекта другому делает их более связанными, чем идеальными, при условии, что класс достаточно примитивен, его можно легко создать в других системах или частях приложения, использующих те же классы.
Это также делает еголегче переносить состояния или сеансы в любой момент времени, даже в пределах одного запроса.