phpDocumentor文件夹 - 未找到此文件的摘要

时间:2017-07-27 08:40:01

标签: php xml phpdoc phpdocumentor2

我的项目中有一堆文件夹,我试图忽略它。不幸的是,phpDocumentor似乎试图访问某些文件夹并获得“权限被拒绝”错误。

Parsing C:\Users\Public\xampp\htdocs\select_user.php
PHP Warning:  file_get_contents(C:\Users\Public\xampp\htdocs\sql): failed to open stream: Permission denied in C:\Program Files\PHPStorm\PhpStorm 2017.2\plugins\phpdoc\phpDocumentor-2.9.0\vendor\phpdocumentor\reflection\src\phpDocumentor\Reflection\FileReflector.php on line 138
Parsing C:\Users\Public\xampp\htdocs\sql

Parsing C:\Users\Public\xampp\htdocs\table_plan.php
PHP Warning:  file_get_contents(C:\Users\Public\xampp\htdocs\tasks): failed to open stream: Permission denied in C:\Program Files\PHPStorm\PhpStorm 2017.2\plugins\phpdoc\phpDocumentor-2.9.0\vendor\phpdocumentor\reflection\src\phpDocumentor\Reflection\FileReflector.php on line 138
PHP Warning:  file_get_contents(C:\Users\Public\xampp\htdocs\vendor): failed to open stream: Permission denied in C:\Program Files\PHPStorm\PhpStorm 2017.2\plugins\phpdoc\phpDocumentor-2.9.0\vendor\phpdocumentor\reflection\src\phpDocumentor\Reflection\FileReflector.php on line 138
Parsing C:\Users\Public\xampp\htdocs\table_users.php
Parsing C:\Users\Public\xampp\htdocs\tasks

Warning: file_get_contents(C:\Users\Public\xampp\htdocs\tasks): failed to open stream: Permission denied in C:\Program Files\PHPStorm\PhpStorm 2017.2\plugins\phpdoc\phpDocumentor-2.9.0\vendor\phpdocumentor\reflection\src\phpDocumentor\Reflection\FileReflector.php on line 138
Parsing C:\Users\Public\xampp\htdocs\unlock_appraisal.php
Parsing C:\Users\Public\xampp\htdocs\util.php
Parsing C:\Users\Public\xampp\htdocs\vendor

我正试图通过phpdoc.dist.xml排除这些目录。

<?xml version="1.0" encoding="UTF-8" ?>
<phpdoc>
    <parser>
        <target>docs/phpdoc</target>
    </parser>
    <transformer>
        <target>docs/phpdoc</target>
    </transformer>
    <files>
        <directory>*</directory>
        <file>*</file>
        <ignore>test/*</ignore>
        <ignore>assets/*</ignore>
        <ignore>doc/*</ignore>
        <ignore>docs/*</ignore>
        <ignore>examples/*</ignore>
        <ignore>html_sources/*</ignore>
        <ignore>logs/*</ignore>
        <ignore>vendor/*</ignore>
        <ignore>vendor/</ignore>
        <ignore>debug</ignore>
        <ignore>_do_this_for_troubleshooting/*</ignore>
        <ignore>*.pdf</ignore>
        <ignore>*.md</ignore>
        <ignore>*.json</ignore>
        <ignore>*.lock</ignore>
        <ignore>*.xml</ignore>
    </files>
</phpdoc>

忽略列表的工作方式是排除文件夹中的项目是免除的,但文件夹本身不是。因此,phpDocumentor尝试将文件夹作为文件读取,从而导致错误。这些也可以在最终的HTML中看到。

screenshot html

如何正确忽略文件夹?我知道我可以尝试使用--ignore sqlbuddy/,docs/,但我非常确定它与在配置中使用ignore XML标记相同。另外,我宁愿在一个中心文件中使用忽略列表而不是两个单独的位置 - 一个在命令中,一个在配置XML中。

在另一次阅读我的问题后,我发现问题可能与此有关:

        <directory>*</directory>
        <file>*</file>

还有一个有趣的config documentation我已经阅读了很多次,但似乎并没有解决我的具体问题。

1 个答案:

答案 0 :(得分:1)

忽略行为是“不要文档您在此文件夹中看到的内容”,而不是“根本不扫描此文件夹”。我认为其历史原因是该文件夹可能包含您 想要记录的类中引用的类。

我很确定你可以通过将“目录”arg更改为要扫描的顶级目录的明确列表来“跳过”要忽略的文件夹。