turk porno porno escort rokettube
Ergebnis 1 bis 1 von 1

Thema: Dispatch Controller in Console Request

  1. #1
    Erfahrener Benutzer Avatar von Nilson
    Registriert seit
    11.01.2007
    Ort
    Kreis Pinneberg
    Beiträge
    599
    Thanks
    0
    Thanked 3 Times in 1 Post

    Standard Dispatch Controller in Console Request

    Moin Moin,

    ich versuche mich gerade daran, in einem Console-Request einen Controller zu rendern, als wäre dieser via HTTP aufgerufen worden und den HTML-Response dann in Redis abzulegen.

    Folgend einmal der PHP-Code, der das Generieren ausführen soll:

    PHP-Code:
    /* Forward-Plugin */
            
    $oForwardPlugin $this
                        
    ->serviceLocator
                        
    ->get('ControllerPluginManager')
                        ->
    get('forward');
            
            
    /* View */
            
    $oView $this
                    
    ->serviceLocator
                    
    ->get('ViewManager')
                    ->
    getView();
            
            
    /**
             * Durchlaufe alle Caches der Route und generiere deren Content neu
             */
            
    foreach ($aDynCaches as $sDynCacheKey => $aParams) {
                
    /* Ermittel Controller-Namen */
                
    if (!isset($aParams['controller'])) {
                    
    # TODO Logging
                    
    continue;
                }
                
    $sControllerName $aParams['controller'];
                unset(
    $aParams['controller']);
                
                
    /**
                 * Generiere Content des Controllers mit Hilfe des
                 * "forward"-Plugins
                 */
                
    $oContentModel $oForwardPlugin
                        
    ->dispatch($sControllerName$aParams);
                
                
    /* Erstelle Content */
                
    $sContent $oView
                        
    ->render($oContentModel);
                
                
    /* Aktualisiere Cache */
                
    $this->_saveCache($sDynCacheKey$sContent);
            } 
    So nun folgendes dazu. Dieser Service wird via Console aufgerufen und ist eine eigenständige Service-Klasse (kein Controller).
    In $aParams sind alle ursprünglichen Parameter drin, die an den Controller (bei einem HTTP-Request) gesendet wurden.

    Ich versuche nun über das forward-Plugin, den Controller zu rendern und ihm die Parameter des ursprünglichen Request mitzugeben. Dies funktioniert auch und ich erhalte ein ViewModel-Objekt.

    Der Renderer verweigert jedoch den Dienst mit der Meldung
    Code:
    Zend\View\Exception\DomainException
     Zend\View\Renderer\PhpRenderer::render: received View Model argument, but template is empty
    Dies sagt mir nun, dass zwar das Ausführen des Controllers funktioniert, das ViewModel jedoch nicht korrekt ist, da anscheinend irgendwas von dem Bootstrapping fehlt, was bei einem HTTP-Request da wäre.

    Über konstruktive Ideen oder Tipps würde ich mich freuen.

    LG Nilson

  2. The Following 3 Users Say Thank You to Nilson For This Useful Post:

    acanadaparkas (20.05.2014), naracinapabl (22.05.2014), suggmenstiffany (22.05.2014)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 16.02.2013, 15:04
  2. Dispatch Sequenz
    Von KingCrunch im Forum FAQ/Howto
    Antworten: 5
    Letzter Beitrag: 18.08.2012, 11:24
  3. Antworten: 5
    Letzter Beitrag: 30.09.2010, 13:48
  4. request params löschen bei jedem request
    Von sladda im Forum Einsteigerfragen
    Antworten: 5
    Letzter Beitrag: 17.09.2010, 11:18
  5. Frage zu dispatch
    Von Timo Trallala im Forum Einsteigerfragen
    Antworten: 6
    Letzter Beitrag: 07.03.2008, 13:03

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •