2014-08-27 22 views
1

我目前正在與一個樹枝模板的Symphony項目。爲了知道每個模板的作用,我在文件中添加了對描述,參數,返回等的詳盡評論...是否可以在Twig模板上使用phpDocumentator?

我正在跳躍以便能夠在這些文件上運行phpDocumentator(或任何其他合適的工具)文件,對我們所有的開發者一個方便的文檔,但我運行下面的命令每次:

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

我得到一個不錯的例外爲結果:

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

我知道文檔塊應該看起來像/** comment */但對樹枝的評論看起來像{# comment #}

有沒有一種方法/工具能夠生成這些文檔?如果是這樣,我該怎麼做?

感謝

+0

我幾乎可以肯定,沒有。 Docblocks需要將PHP代碼元素綁定到自己,所以即使將適當的docblock放在這些分支文件中也不會給你任何輸出。充其量,文件級docblock可能會成功,但就是這樣。 – ashnazg 2014-08-29 18:25:07

回答

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> 

這種方法的缺點,像任何破解的,是你需要了解這個「處理」當你寫你的嫩枝意見。

相關問題