Zend_Session_Core
предоставляет внутренний интерфейс для
инкапсуляции всего доступа к сиглетону $_SESSION
с
использованием обычного паттерна getInstance(). В общем случае
разработчики не должны иметь прямой доступ к $_SESSION
,
когда используют компоненту Zend_Session. Тем не менее, "унаследованный"
код может сосуществовать с Zend_Session благодаря тому, что
пространства имен, используемые Zend_Session, не перекрываются с ключами
в массиве $_SESSION
, используемым действующим кодом.
Общее управление сессиями производится с использованием статических методов класса Zend_Session_Core, это влияет на общее поведение сессий, управляемыми компонентами, родственными с Zend_Session. Большинству разработчиков эти статические методы могут не понадобиться.
В отличие от $_SESSION
, Zend_Session выделяет данные сессий
в отдельные пространства имен посредством сохранения данных в массиве и
сохранении этого массива в $_SESSION
, используя
имя пространства имен в качестве ключа. Создание экземпляра класса
Zend_Session вернет неуникальное "окно" к выбранному пространству имен.
Одно и то же пространство имен может иметь множество "окон", несморя на
то, что через определенный ключ (имя пространства имен) доступно только
одно пространство имен. Эти экземпляры обеспечивают непосредственное
манипулирование сессионными данными для определенных пространств имен.
Таким образом, экземпляры Zend_Session помогают ограничить область
видимости посредством введения переменных с локальной областью видимости
(объект), фактически это импорт определенного пространства имен в
локальную область видимости.