Zend Framework FlashMessenger sorun

4 Cevap php

i mesajları ayarlamak için FlashMessenger yardımcı kullanarak duyuyorum, ama ben () yöntemi getMessages kullanarak mesajları almak için kuramıyorum. null döndürür. İşte benim örnek kod:

<?php
class Admin_TestController extends Zend_Controller_Action
{
    protected $_flashMessenger = null;

    public function init()
    {
        $this->_flashMessenger = $this->_helper->getHelper('FlashMessenger');
        $this->initView();
    }

    public function myAction()
    {
        $this->_flashMessenger->addMessage('test message');

        $this->_helper->Redirector("mynextrequest");
    }

    public function mynextrequestAction()
    {
        zend_debug::dump($this->_flashMessenger->getMessages());
        $this->render();
    }
}

4 Cevap

i 5.2.9 php 5.2.0 yükseltme ve sorun çözüldü.

kenara fonksiyonu / classname harf sorunları, sizin Zend_Session kurmak başladı ve çalışan bir depolama yöntemi vardır emin olun. Bir new Zend_Session_Namespace('FlashMessenger') gelir sizin oturum depolama yöntemini kullanın

Ile ilgili bir sorun var PHP 5.2.x sürümleri vardır

// Zend_Controller_Action_Helper_FlashMessenger::addMessage() (line 143)
self::$_session->{$this->_namespace}[] = $message;

PHP Yükseltme (yaptığın gibi) bir çözüm olabilir ya da aşağıdaki kodla yukarıdaki satırı yerine olacaktır:

$ Mesaj = self :: $ _SESSION-> {$ this-> _namespace};

$ Messages [] = $ mesaj;

self :: $ _SESSION-> {$ this-> _namespace} = $ mesajları;

Ben FlashMessenger kullanılan ve random sırayla yükleme terbiye two ajax calls having gelen bir sorun vardı. Yani ilk ajax çağrısı bazen ikinci için ilk ve böylece mesajları kullanarak ve sol hiçbiri yüklendi; ve ben ikinci ajax çağrısında hata iletileri bekliyor ve onlar vakaların sadece yaklaşık% 50 gösteriyor merak edildi.