0

我的引导程序中有以下代码

protected function _userSession(){
    $session=new Zend_Session_Namespace("userIdentity");
    $session->greet="Hello!!!!!";
    Zend_Registry::set("session", $session);        
}

在控制器中我写:

public function index() {
    $session = Zend_Registry::get("session");
    echo $session->greet;        
}

但它会显示如下错误消息:没有为密钥“会话”注册条目。这段代码有什么问题。任何解决方案。

4

1 回答 1

3

我认为您只需要将用户会话的引导方法更改为_initUserSession()

根据您的设置方式,引导程序将自动调用所有以_init

见这里: http: //framework.zend.com/manual/en/zend.application.theory-of-operation.html#zend.application.theory-of-operation.bootstrap.resource-methods

如果您有index.phpzend 使用的默认值,那么您的引导程序将自动调用所有以_init

因此,如果您有以下情况:

$application->bootstrap()->run();

但如果你这样做:

$application->bootstrap(array(
    'FrontController',
    'Layout',
    'View',
    'Db'))->run();

以上只会为您的数组中列出的那些调用 init 方法。

于 2012-05-16T06:09:29.587 回答