我的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')
行实际上做了什么。它实例化并调用哪个类/函数?
答案 0 :(得分:3)
bootstrap(<resource_name>)
告诉Zend_Bootstrap在继续之前初始化指定的资源。在初始化实际resource
可以通过两种方式声明资源引导程序。
Bootstrap
类中的PHP方法。
function _init<Resource_name>() { ... }
或在ini
文件中
resources.<resource_name>
在最后一种情况下(ini
文件)必须使用init资源的代码声明从Zend_Application_Resource_ResourceAbstract
扩展的类。
默认使用bootstrap('session')