Рекомендации по доступу к зарегистрированному объекту пользователя из других классов

Это вопрос относительно наилучшей практики хранения и доступа к объекту из другого класса.

Я использую простую самодельную парадигму MVC в PHP , класс называется User и имеет свои собственные методы и вары, которые по существу работают как уровень абстракции базы данных.

Этот класс создается путем вызова new User($userID) который извлекает данные из базы данных с учетом $ userID или генерирует исключение, если у пользователя нет этого идентификатора.

Каждая страница имеет свой собственный класс WebViewController управляющий содержимым страницы, и в некоторых случаях страница должна вызывать $loggedInUser зависимые функции, такие как WebViewController->displayUserFriends() , которые могут выглядеть следующим образом:

 <?php class WebViewController extends WVCTemplate { // Class vars and methods // ... public function displayUserFriends() { foreach($loggedInUser->getFriends() as $friend) { // Do something // ... } } } ?> 

Есть ли способ (совместимый с лучшей практикой) хранить LoggedInUser как своего рода глобальный объект , поэтому он может быть доступен внутри любого класса или WebViewController не WebViewController экземпляр внутри каждого класса, который он использует?

Related of "Рекомендации по доступу к зарегистрированному объекту пользователя из других классов"