Это вопрос относительно наилучшей практики хранения и доступа к объекту из другого класса.
Я использую простую самодельную парадигму 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
экземпляр внутри каждого класса, который он использует?