src/ministruts/RequestProcessor.php
protected function processActionExecute(Request $request, Response $response, Action $action) {
        $forward = $throwable = null;

        // Alles kapseln, damit Postprocessing-Hook auch nach Auftreten einer Exception aufgerufen
        // werden kann (z.B. Transaction-Rollback o.ae.)
        try {
            // allgemeinen Preprocessing-Hook aufrufen
            $forward = $action->executeBefore($request, $response);

            // Action nur ausfuehren, wenn executeBefore() nicht schon Abbruch signalisiert hat
            if ($forward === null) {
                // TODO: implement dispatching for DispatchActions; as of now it must be done manually in execute()
                $forward = $action->execute($request, $response);
            }
        }
        catch (\Exception $ex) {
            $throwable = $ex;    // evt. aufgetretene Exception zwischenspeichern
        }

        // falls statt eines ActionForwards ein String-Identifier zurueckgegeben wurde, diesen aufloesen
        if (is_string($forward)) {
            if ($forwardInstance = $action->getMapping()->findForward($forward)) {
                $forward = $forwardInstance;
            }
            else {
                $throwable = new RuntimeException('No ActionForward found for name "'.$forward.'"');
                $forward = null;
            }
        }

        // allgemeinen Postprocessing-Hook aufrufen
        $forward = $action->executeAfter($request, $response, $forward);

        // jetzt evt. aufgetretene Exception weiterreichen
        if ($throwable)
            throw $throwable;

        return $forward;
    }
protected function processActionExecute(Request $request, Response $response, Action $action) {
        $forward = $throwable = null;

        // Alles kapseln, damit Postprocessing-Hook auch nach Auftreten einer Exception aufgerufen
        // werden kann (z.B. Transaction-Rollback o.ae.)
        try {
            // allgemeinen Preprocessing-Hook aufrufen
            $forward = $action->executeBefore($request, $response);

            // Action nur ausfuehren, wenn executeBefore() nicht schon Abbruch signalisiert hat
            if ($forward === null) {
                // TODO: implement dispatching for DispatchActions; as of now it must be done manually in execute()
                $forward = $action->execute($request, $response);
            }
        }
        catch (\Exception $ex) {
            $throwable = $ex;    // evt. aufgetretene Exception zwischenspeichern
        }

        // falls statt eines ActionForwards ein String-Identifier zurueckgegeben wurde, diesen aufloesen
        if (is_string($forward)) {
            if ($forwardInstance = $action->getMapping()->findForward($forward)) {
                $forward = $forwardInstance;
            }
            else {
                $throwable = new RuntimeException('No ActionForward found for name "'.$forward.'"');
                $forward = null;
            }
        }

        // allgemeinen Postprocessing-Hook aufrufen
        $forward = $action->executeAfter($request, $response, $forward);

        // jetzt evt. aufgetretene Exception weiterreichen
        if ($throwable)
            throw $throwable;

        return $forward;
    }
protected function processActionExecute ( Request $ request , Response $ response , Action $ action ) { $ forward = $ throwable = null ; // Alles kapseln, damit Postprocessing-Hook auch nach Auftreten einer Exception aufgerufen // werden kann (z.B. Transaction-Rollback o.ae.) try { // allgemeinen Preprocessing-Hook aufrufen $ forward = $ action -> executeBefore ( $ request , $ response ) ; // Action nur ausfuehren, wenn executeBefore() nicht schon Abbruch signalisiert hat if ( $ forward === null ) { // TODO: implement dispatching for DispatchActions; as of now it must be done manually in execute() $ forward = $ action -> execute ( $ request , $ response ) ; } } catch ( \ Exception $ ex ) { $ throwable = $ ex ; // evt. aufgetretene Exception zwischenspeichern } // falls statt eines ActionForwards ein String-Identifier zurueckgegeben wurde, diesen aufloesen if ( is_string ( $ forward ) ) { if ( $ forwardInstance = $ action -> getMapping ( ) -> findForward ( $ forward ) ) { $ forward = $ forwardInstance ; } else { $ throwable = new RuntimeException ( 'No ActionForward found for name "' . $ forward . '"' ) ; $ forward = null ; } } // allgemeinen Postprocessing-Hook aufrufen $ forward = $ action -> executeAfter ( $ request , $ response , $ forward ) ; // jetzt evt. aufgetretene Exception weiterreichen if ( $ throwable ) throw $ throwable ; return $ forward ; }
Uebergibt den Request zur Bearbeitung an die konfigurierte Action und gibt den von ihr
zurueckgegebenen ActionForward zurueck.

@param  Request  $request
@param  Response $response
@param  Action   $action

@return ActionForward|null
Uebergibt den Request zur Bearbeitung an die konfigurierte Action und gibt den von ihr zurueckgegebenen ActionForward zurueck .