public function compile($argumentsName, $closureName, &$initializationPhpCode, ViewHelperNode $node, TemplateCompiler $compiler)
    {
        $valueVariableName = $compiler->variableName('value');
        $initializationPhpCode .= sprintf('%1$s = (%2$s[\'value\'] !== null ? %2$s[\'value\'] : %3$s());', $valueVariableName, $argumentsName, $closureName) . chr(10);
        $initializationPhpCode .= sprintf('if (!is_object(%1$s) && %1$s !== null) { throw new \Neos\FluidAdaptor\Core\ViewHelper\Exception(\'f:format.identifier expects an object, \' . gettype(%1$s) . \' given.\', 1337700024); }', $valueVariableName) . chr(10);

        return sprintf(
            '%1$s === null ? null : $renderingContext->getObjectManager()->get(\Neos\Flow\Persistence\PersistenceManagerInterface::class)->getIdentifierByObject(%1$s)',
            $valueVariableName
        );
    }
public function compile($argumentsName, $closureName, &$initializationPhpCode, ViewHelperNode $node, TemplateCompiler $compiler)
    {
        $valueVariableName = $compiler->variableName('value');
        $initializationPhpCode .= sprintf('%1$s = (%2$s[\'value\'] !== null ? %2$s[\'value\'] : %3$s());', $valueVariableName, $argumentsName, $closureName) . chr(10);
        $initializationPhpCode .= sprintf('if (!is_object(%1$s) && %1$s !== null) { throw new \Neos\FluidAdaptor\Core\ViewHelper\Exception(\'f:format.identifier expects an object, \' . gettype(%1$s) . \' given.\', 1337700024); }', $valueVariableName) . chr(10);

        return sprintf(
            '%1$s === null ? null : $renderingContext->getObjectManager()->get(\Neos\Flow\Persistence\PersistenceManagerInterface::class)->getIdentifierByObject(%1$s)',
            $valueVariableName
        );
    }
public function compile ( $ argumentsName , $ closureName , & $ initializationPhpCode , ViewHelperNode $ node , TemplateCompiler $ compiler ) { $ valueVariableName = $ compiler -> variableName ( 'value' ) ; $ initializationPhpCode .= sprintf ( '%1$s = (%2$s[\'value\'] !== null ? %2$s[\'value\'] : %3$s());' , $ valueVariableName , $ argumentsName , $ closureName ) . chr ( 10 ) ; $ initializationPhpCode .= sprintf ( 'if (!is_object(%1$s) && %1$s !== null) { throw new \Neos\FluidAdaptor\Core\ViewHelper\Exception(\'f:format.identifier expects an object, \' . gettype(%1$s) . \' given.\', 1337700024); }' , $ valueVariableName ) . chr ( 10 ) ; return sprintf ( '%1$s === null ? null : $renderingContext->getObjectManager()->get(\Neos\Flow\Persistence\PersistenceManagerInterface::class)->getIdentifierByObject(%1$s)' , $ valueVariableName ) ; }
Directly compile to code for the template cache.

@param string $argumentsName
@param string $closureName
@param string $initializationPhpCode
@param ViewHelperNode $node
@param TemplateCompiler $compiler
@return string
Directly compile to code for the template cache .