2014-08-27 12 views
1

В настоящее время я работаю над проектом Symphony с шаблонами Twig. Чтобы узнать, что в каждом шаблоне я добавляю подробные комментарии к файлам с описаниями, параметрами, возвратами и т. Д.Можно ли использовать phpDocumentator на шаблонах Twig?

Я прыгал, чтобы иметь возможность запускать phpDocumentator (или любой другой подходящий инструмент) на этих файлы и иметь легко доступную документацию для всех наших разработчиков, однако каждый раз, когда я запустить следующую команду:

php phpDocumentor.phar -d src/dir1/dir2/CoreBundle/Resources/views/ -t docs/api/ -v 

я получаю хороший Exception как результат:

[Exception] 
No parsable files were found, did you specify any using the -f or -d parameter? 

Я знаю, что DocBlock должно выглядеть /** comment */ но комментарии на Twig выглядят как {# comment #}.

Есть ли способ/инструмент для создания этой документации? Если да, то как мне это сделать?

Благодаря

+0

Я почти уверен, что нет. Docblocks нуждаются в элементах кода PHP, чтобы связать себя, поэтому даже размещение надлежащих docblocks в этих файлах twig вряд ли даст вам какой-либо вывод. В лучшем случае док-блок с файловым уровнем может преуспеть, но все. – ashnazg

ответ

1

Там нет «правильный» путь, но вы могли бы применить довольно гнилой хак:

  1. копирования файлов во временную папку ...
  2. ... и заменить прут комментарии с PHP-теги и комментарии.
  3. тогда вы запустите phpDocumentor в этих файлах.

Пример:

#!/bin/bash 

targetpath="/tmp/phpdoc" 
[ -d "$targetpath" ] && rm -r $targetpath 
mkdir -p $targetpath 

for twigfile in $(find src/ -name '*.html.twig'); do 
    newtwigfile="$targetpath/${twigfile//\//_}.php" 
    perl -pe 's|{#|<?php /*|g' $twigfile | perl -pe 's|#}|*/ ?>|g' > $newtwigfile 
done 

php phpDocumentor.phar -d $targetpath -t docs/api/ -v 

Это может потребоваться некоторые настройки в отношении того, что PhpDocumentor принимает как действительные блоки комментариев.

До:

<div> 
    {# 
     This is the glorious lorem ipsum. 
    #} 
    <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
    eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p> 
</div> 

После:

<div> 
    <?php /* 
     This is the glorious lorem ipsum. 
    */ ?> 
    <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
    eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p> 
</div> 

Недостаток этого, как любой хак, является то, что вам нужно знать об этом «обработка», когда вы пишете свои комментарии Twig.

Смежные вопросы