Zend会话启动

时间:2013-04-09 12:55:43

标签: php session zend-framework bootstrapping

我的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')行实际上做了什么。它实例化并调用哪个类/函数?

1 个答案:

答案 0 :(得分:3)

如何引导资源

bootstrap(<resource_name>)告诉Zend_Bootstrap在继续之前初始化指定的资源。在初始化实际resource

之前,通常用于init所需的依赖项

可以通过两种方式声明资源引导程序。

Bootstrap类中的PHP方法。

function _init<Resource_name>() { ... }

或在ini文件中

resources.<resource_name>

在最后一种情况下(ini文件)必须使用init资源的代码声明从Zend_Application_Resource_ResourceAbstract扩展的类。

会话资源引导程序

默认使用bootstrap('session')