可以在细枝模板上使用phpDocumentator吗?

可以在细枝模板上使用phpDocumentator吗?,php,symfony,twig,phpdoc,Php,Symfony,Twig,Phpdoc,我目前正在做一个带有细枝模板的Symphony项目。为了了解每个模板的作用,我在文件上添加了大量的注释,包括描述、参数、返回等 我希望能够在这些文件上运行(或任何其他合适的工具),并为所有开发人员提供易于访问的文档,但是每次运行以下命令时: php phpDocumentor.phar -d src/dir1/dir2/CoreBundle/Resources/views/ -t docs/api/ -v 我得到了一个很好的例外结果: [Exception] No parsable files

我目前正在做一个带有细枝模板的Symphony项目。为了了解每个模板的作用,我在文件上添加了大量的注释,包括描述、参数、返回等

我希望能够在这些文件上运行(或任何其他合适的工具),并为所有开发人员提供易于访问的文档,但是每次运行以下命令时:

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?
我知道docBlock应该看起来像
/**comment*/
,但是细枝上的注释看起来像
{comment}

是否有一种方法/工具能够生成这些文档?如果是,我该怎么做


谢谢

没有“正确”的方法,但是你可以应用一个非常糟糕的黑客:

  • 将文件复制到临时位置
  • …并用PHP标记和注释替换细枝注释
  • 然后对这些文件运行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
    
    #/bin/bash
    targetpath=“/tmp/phpdoc”
    [-d“$targetpath”]&rm-r$targetpath
    mkdir-p$targetpath
    对于美元格式的twigfile(查找src/-name'*.html.twig');做
    newtwigfile=“$targetpath/${twigfile/\/\/\}.php”
    perl-pe的|{| | | g'>$newtwigfile
    完成
    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>
    
    
    {#
    这是光荣的知识。
    #}
    Lorem ipsum dolor sit amet,Conseteteur sadipscing Eliter,sed diam nonumy
    临时受邀参加劳动和其他大型活动的人员,必须遵守规定

    之后:

    <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>
    
    
    Lorem ipsum dolor sit amet,Conseteteur sadipscing Eliter,sed diam nonumy
    临时受邀参加劳动和其他大型活动的人员,必须遵守规定


    与任何黑客一样,这种方法的缺点是您需要了解这种“处理”当你写你的小枝评论时。

    我几乎可以肯定没有。docblock需要PHP代码元素来绑定,所以即使在那些小枝文件中放置适当的docblock也不会给你任何输出。最多,文件级docblock可以成功,但仅此而已。