У меня есть следующий код в моем загрузочном файле приложения zend
protected function _initSessionId() { $this->bootstrap( 'session' ); $opts = $this->getOptions(); $cache = $this->bootstrap( 'cachemanager' ) ->getResource( 'cachemanager' ) ->getCache( 'memcached' ); Zend_Db_Table_Abstract::setDefaultMetadataCache( $cache ); Zend_Registry::set( 'cache', $cache ); $defaultNamespace = new Zend_Session_Namespace(); if ( !isset( $defaultNamespace->initialized ) ) { Zend_Session::regenerateId(); $defaultNamespace->initialized = true; } }
Я хочу знать, что на самом деле делает строка $this->bootstrap('session')
. Какой класс / функция он создает и вызывает?
bootstrap(<resource_name>)
имя_каталога bootstrap(<resource_name>)
сообщает Zend_Bootstrap для запуска указанного ресурса перед продолжением. Обычно используется для инициализации требуемых зависимостей перед началом фактического resource
Бутстрап ресурса можно объявить двумя способами.
Метод PHP в классе Bootstrap
.
function _init<Resource_name>() { ... }
Или в файле ini
resources.<resource_name>
в последнем случае ( ini
файл) класс, простирающийся от Zend_Application_Resource_ResourceAbstract
должен быть объявлен с кодом для инициализации ресурса.
Для конкретного случая bootstrap('session')
по умолчанию используйте метод init()
объявленный в Zend_Application_Resource_Session