Neos.Fusion/Classes/Core/Runtime.php
protected function evaluateObjectOrRetrieveFromCache($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext)
    {
        $output = null;
        $evaluationStatus = self::EVALUATION_SKIPPED;
        list($cacheHit, $cachedResult) = $this->runtimeContentCache->preEvaluate($cacheContext, $fusionObject);
        if ($cacheHit) {
            return $cachedResult;
        }

        $evaluateObject = true;
        if ($this->evaluateIfCondition($fusionConfiguration, $fusionPath, $fusionObject) === false) {
            $evaluateObject = false;
        }

        if ($evaluateObject) {
            $output = $fusionObject->evaluate();
            $evaluationStatus = self::EVALUATION_EXECUTED;
        }

        $this->lastEvaluationStatus = $evaluationStatus;

        if ($evaluateObject) {
            $output = $this->evaluateProcessors($output, $fusionConfiguration, $fusionPath, $fusionObject);
        }
        $output = $this->runtimeContentCache->postProcess($cacheContext, $fusionObject, $output);
        return $output;
    }
protected function evaluateObjectOrRetrieveFromCache($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext)
    {
        $output = null;
        $evaluationStatus = self::EVALUATION_SKIPPED;
        list($cacheHit, $cachedResult) = $this->runtimeContentCache->preEvaluate($cacheContext, $fusionObject);
        if ($cacheHit) {
            return $cachedResult;
        }

        $evaluateObject = true;
        if ($this->evaluateIfCondition($fusionConfiguration, $fusionPath, $fusionObject) === false) {
            $evaluateObject = false;
        }

        if ($evaluateObject) {
            $output = $fusionObject->evaluate();
            $evaluationStatus = self::EVALUATION_EXECUTED;
        }

        $this->lastEvaluationStatus = $evaluationStatus;

        if ($evaluateObject) {
            $output = $this->evaluateProcessors($output, $fusionConfiguration, $fusionPath, $fusionObject);
        }
        $output = $this->runtimeContentCache->postProcess($cacheContext, $fusionObject, $output);
        return $output;
    }
protected function evaluateObjectOrRetrieveFromCache ( $ fusionObject , $ fusionPath , $ fusionConfiguration , $ cacheContext ) { $ output = null ; $ evaluationStatus = self :: EVALUATION_SKIPPED ; list ( $ cacheHit , $ cachedResult ) = $ this -> runtimeContentCache -> preEvaluate ( $ cacheContext , $ fusionObject ) ; if ( $ cacheHit ) { return $ cachedResult ; } $ evaluateObject = true ; if ( $ this -> evaluateIfCondition ( $ fusionConfiguration , $ fusionPath , $ fusionObject ) === false ) { $ evaluateObject = false ; } if ( $ evaluateObject ) { $ output = $ fusionObject -> evaluate ( ) ; $ evaluationStatus = self :: EVALUATION_EXECUTED ; } $ this -> lastEvaluationStatus = $ evaluationStatus ; if ( $ evaluateObject ) { $ output = $ this -> evaluateProcessors ( $ output , $ fusionConfiguration , $ fusionPath , $ fusionObject ) ; } $ output = $ this -> runtimeContentCache -> postProcess ( $ cacheContext , $ fusionObject , $ output ) ; return $ output ; }
Does the evaluation of a Fusion instance, first checking the cache and if conditions and afterwards applying processors.

@param AbstractFusionObject $fusionObject
@param string $fusionPath
@param array $fusionConfiguration
@param array $cacheContext
@return mixed
Does the evaluation of a Fusion instance first checking the cache and if conditions and afterwards applying processors .