我的项目中有一堆文件夹,我试图忽略它。不幸的是,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中看到。
如何正确忽略文件夹?我知道我可以尝试使用--ignore sqlbuddy/,docs/
,但我非常确定它与在配置中使用ignore
XML标记相同。另外,我宁愿在一个中心文件中使用忽略列表而不是两个单独的位置 - 一个在命令中,一个在配置XML中。
在另一次阅读我的问题后,我发现问题可能与此有关:
<directory>*</directory>
<file>*</file>
还有一个有趣的config documentation我已经阅读了很多次,但似乎并没有解决我的具体问题。
答案 0 :(得分:1)
忽略行为是“不要文档您在此文件夹中看到的内容”,而不是“根本不扫描此文件夹”。我认为其历史原因是该文件夹可能包含您 想要记录的类中引用的类。
我很确定你可以通过将“目录”arg更改为要扫描的顶级目录的明确列表来“跳过”要忽略的文件夹。