Я немного запутался в звонках, которые я вижу в Mage::getSingleton
, и я надеюсь, что кто-то может помочь мне понять немного лучше.
Я видел фрагмент кода ядра, который делает это:
Mage::getSingleton('customer/session')->isLoggedIn()
Я не знаю PHP, но я думаю, что могу сделать безопасное предположение из имени метода getSingleton, что будет только один экземпляр указанного класса (класс указывается как сгруппированный имя класса и разрешение на app/code/core/Mage/Customer/Model/Session.php
- содержащий класс Mage_Customer_Model_Session
.
Вопрос 1 -
Как узнал метод getSingleton в папке Model для класса?
Вопрос 2 -
Итак, есть один экземпляр класса для целого... Я хочу сказать JVM, как я из фона Java, но я скажу PHP-движок в надежде, что это смутно правильная терминология; Mage_Customer_Model_Session
не передается в идентификаторе клиента или любом таком идентификаторе, но мы вызываем метод isLoggedIn()
! Дайте, чтобы не было экземпляра Mage_Customer_Model_Session
для каждого клиента, как мы можем спросить синглтон, если клиент вошел в систему, когда мы не говорим о том, что клиент, о котором мы говорим?
Вопрос 3 -
Я видел вызовы Mage::getSingleton('core/session')
и Mage::getSingleton('customer/session')
- в чем разница?
Спасибо за любую помощь.