【解決方法】Phpdocumentor はドキュメントを生成しません

[ad_1]

重大な問題があります phpDocumentorワンプサーバー ベースの開発環境 ウィンドウズ 10 プロ. 私が開発したコードには、ドキュメントを作成するために必要な phpDoc ブロックが含まれています。 これを行うには、 ビジュアル スタジオ コード プラグイン。 ただし、別の人のためにサイトを作成しているため、ドキュメントを生成する必要があります。

以下に、必要に応じて問題を再現できるように、私が行ったすべてのアクションを詳細に報告します。 最後に、実際に問題が何であるかを明確にします。

私が試したこと:

環境

Windows 10 Professional インターナショナル。 英語版 21H1
ワンプサーバー 3.2.7
PHP 7.4.9

インストール

を。 最新の phpDocumentor.phar をダウンロードして C:\PhpTools\bin に保存しました
b. phpdoc.cmd 実行可能スクリプトを作成し、C:\PhpTools に保存しました。

シェル
@php C:\PhpTools\vendor\bin\phpDocumentor.phar %*

c. C:\PhpTools を PATH システム環境変数に追加しました
d. 別のフォルダーで phpdoc –help を実行して、機能するかどうかを確認しました。

できます!

問題を再現する手順

1. D:\#MyProject に移動しました
2. ドキュメント用に D:\#MyProject\docs を作成し、キャッシュ用に D:\#MyProject\cache を作成しました
3. ソース ファイルは D:\#MyProject\src にあります。
4. phpdoc.xml を次のように作成しました

<?xml version="1.0" encoding="UTF-8" ?>
<phpdocumentor
        configVersion="3"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="https://www.phpdoc.org"
        xsi:noNamespaceSchemaLocation="https://docs.phpdoc.org/latest/phpdoc.xsd"
>
<title>Kleo-IDP</title>
<paths>
    <output>./docs</output>
    <cache>./cache</cache>
</paths>
<version number="0.1.0">
    <api>
        <source dsn=".">
            <path>./src</path>
        </source>
        <output>./docs</output>
        <extensions>
            <extension>php</extension>
        </extensions>
    </api>
</version>
</phpdocumentor>

5. D:\MyProject から phpdoc を起動しました
6. わかった

シェル
phpDocumentor v3.3.1
    Parsing files
     59/59 [============================] 100%
    Applying transformations (can take a while)
     21/21 [============================] 100%
    All done in 1 seconds!

phpDocumentor は、フォルダー プロジェクトにキャッシュ サブフォルダーを含む .phpdoc フォルダーを作成しますが、docs にドキュメントを生成しません。 また、トラブルシューティングを確認するために詳細な出力を要求して、構成ファイルなしでコマンドを実行しようとしました。

シェル
phpdoc -t docs -d src --log=phpdoc.log -vvv --force

多くの情報を取得しますが、エラーはありません。 コードが解析され、ブロックが見つかり、ログは作成されていません。 実際、私は得る

シェル
In the ProjectDescriptor are:
            59 files
             0 top-level namespaces
             0 unresolvable parent classes
             5 phpDocumentor\Descriptor\ClassDescriptor elements
            27 phpDocumentor\Descriptor\MethodDescriptor elements
             7 phpDocumentor\Descriptor\PropertyDescriptor elements
            71 phpDocumentor\Descriptor\ConstantDescriptor elements
            77 phpDocumentor\Descriptor\FunctionDescriptor elements
             1 phpDocumentor\Descriptor\NamespaceDescriptor elements

ただし、ドキュメントは生成されません。 今自分に何ができるのか、本当にわかりません。

解決策 1

そのバグの原因がわかりました。 これは、パスに has 文字 (#MyProject) が含まれていることに関連しています。 phpDocument または %23MyProjects に変更し、ファイリング システムに %23MyProject フォルダーを作成します。

[ad_2]

コメント

タイトルとURLをコピーしました