Classes/Command/ReferenceCommandController.php
protected function renderReference($reference)
    {
        if (!isset($this->settings['references'][$reference])) {
            $this->outputLine('Reference "%s" is not configured', [$reference]);
            $this->quit(1);
        }
        $referenceConfiguration = $this->settings['references'][$reference];
        $affectedClassNames = $this->getAffectedClassNames($referenceConfiguration['affectedClasses']);
        $parserClassName = $referenceConfiguration['parser']['implementationClassName'];
        $parserOptions = isset($referenceConfiguration['parser']['options']) ? $referenceConfiguration['parser']['options'] : [];
        /** @var $classParser \Neos\DocTools\Domain\Service\AbstractClassParser */
        $classParser = new $parserClassName($parserOptions);
        $classReferences = [];
        foreach ($affectedClassNames as $className) {
            $classReferences[$className] = $classParser->parse($className);
        }
        usort($classReferences, function (ClassReference $a, ClassReference $b) {
            if ($a->getTitle() == $b->getTitle()) {
                return 0;
            }

            return ($a->getTitle() < $b->getTitle()) ? -1 : 1;
        });
        $standaloneView = new \Neos\FluidAdaptor\View\StandaloneView();
        $templatePathAndFilename = isset($referenceConfiguration['templatePathAndFilename']) ? $referenceConfiguration['templatePathAndFilename'] : 'resource://Neos.DocTools/Private/Templates/ClassReferenceTemplate.txt';
        $standaloneView->setTemplatePathAndFilename($templatePathAndFilename);
        $standaloneView->assign('title', isset($referenceConfiguration['title']) ? $referenceConfiguration['title'] : $reference);
        $standaloneView->assign('classReferences', $classReferences);
        file_put_contents($referenceConfiguration['savePathAndFilename'], $standaloneView->render());
        $this->outputLine('DONE.');
    }
protected function renderReference($reference)
    {
        if (!isset($this->settings['references'][$reference])) {
            $this->outputLine('Reference "%s" is not configured', [$reference]);
            $this->quit(1);
        }
        $referenceConfiguration = $this->settings['references'][$reference];
        $affectedClassNames = $this->getAffectedClassNames($referenceConfiguration['affectedClasses']);
        $parserClassName = $referenceConfiguration['parser']['implementationClassName'];
        $parserOptions = isset($referenceConfiguration['parser']['options']) ? $referenceConfiguration['parser']['options'] : [];
        /** @var $classParser \Neos\DocTools\Domain\Service\AbstractClassParser */
        $classParser = new $parserClassName($parserOptions);
        $classReferences = [];
        foreach ($affectedClassNames as $className) {
            $classReferences[$className] = $classParser->parse($className);
        }
        usort($classReferences, function (ClassReference $a, ClassReference $b) {
            if ($a->getTitle() == $b->getTitle()) {
                return 0;
            }

            return ($a->getTitle() < $b->getTitle()) ? -1 : 1;
        });
        $standaloneView = new \Neos\FluidAdaptor\View\StandaloneView();
        $templatePathAndFilename = isset($referenceConfiguration['templatePathAndFilename']) ? $referenceConfiguration['templatePathAndFilename'] : 'resource://Neos.DocTools/Private/Templates/ClassReferenceTemplate.txt';
        $standaloneView->setTemplatePathAndFilename($templatePathAndFilename);
        $standaloneView->assign('title', isset($referenceConfiguration['title']) ? $referenceConfiguration['title'] : $reference);
        $standaloneView->assign('classReferences', $classReferences);
        file_put_contents($referenceConfiguration['savePathAndFilename'], $standaloneView->render());
        $this->outputLine('DONE.');
    }
protected function renderReference ( $ reference ) { if ( ! isset ( $ this -> settings [ 'references' ] [ $ reference ] ) ) { $ this -> outputLine ( 'Reference "%s" is not configured' , [ $ reference ] ) ; $ this -> quit ( 1 ) ; } $ referenceConfiguration = $ this -> settings [ 'references' ] [ $ reference ] ; $ affectedClassNames = $ this -> getAffectedClassNames ( $ referenceConfiguration [ 'affectedClasses' ] ) ; $ parserClassName = $ referenceConfiguration [ 'parser' ] [ 'implementationClassName' ] ; $ parserOptions = isset ( $ referenceConfiguration [ 'parser' ] [ 'options' ] ) ? $ referenceConfiguration [ 'parser' ] [ 'options' ] : [ ] ; /** @var $classParser \Neos\DocTools\Domain\Service\AbstractClassParser */ $ classParser = new $ parserClassName ( $ parserOptions ) ; $ classReferences = [ ] ; foreach ( $ affectedClassNames as $ className ) { $ classReferences [ $ className ] = $ classParser -> parse ( $ className ) ; } usort ( $ classReferences , function ( ClassReference $ a , ClassReference $ b ) { if ( $ a -> getTitle ( ) == $ b -> getTitle ( ) ) { return 0 ; } return ( $ a -> getTitle ( ) < $ b -> getTitle ( ) ) ? - 1 : 1 ; } ) ; $ standaloneView = new \ Neos \ FluidAdaptor \ View \ StandaloneView ( ) ; $ templatePathAndFilename = isset ( $ referenceConfiguration [ 'templatePathAndFilename' ] ) ? $ referenceConfiguration [ 'templatePathAndFilename' ] : 'resource://Neos.DocTools/Private/Templates/ClassReferenceTemplate.txt' ; $ standaloneView -> setTemplatePathAndFilename ( $ templatePathAndFilename ) ; $ standaloneView -> assign ( 'title' , isset ( $ referenceConfiguration [ 'title' ] ) ? $ referenceConfiguration [ 'title' ] : $ reference ) ; $ standaloneView -> assign ( 'classReferences' , $ classReferences ) ; file_put_contents ( $ referenceConfiguration [ 'savePathAndFilename' ] , $ standaloneView -> render ( ) ) ; $ this -> outputLine ( 'DONE.' ) ; }
Render a reference to reStructuredText.

@param string $reference
@return void
@throws \Neos\Flow\Mvc\Exception\StopActionException
@throws \Neos\FluidAdaptor\Exception
@throws \Neos\Flow\Reflection\Exception\ClassLoadingForReflectionFailedException
Render a reference to reStructuredText .