Search code examples
phpcomposer-phpphpdoc

Howto Integrate vendor docs in phpdoc?


Is there a way to configure phpdoc so that it will also generate docs for all installed vendor apps with composer?

Why? Well because it would be very nice to have just one doc enviroment wich provides all the docs with the current version of your app and all of your vendor apps. You can just search your own doc enviroment to check out how you should speak to an object belonging to laravel or Zend or whatever you need.

My current phpdoc.xml looks like this:

<?xml version="1.0" encoding="UTF-8" ?>
<phpdoc>
    <title>App title</title>
    <parser>
        <default-package-name>RootNamespace\app\</default-package-name>
        <target>docs</target>
        <markers>
            <item>TODO</item>
            <item>FIXME</item>
        </markers>
        <extensions>
            <extension>php</extension>
            <extension>php3</extension>
            <extension>phtml</extension>
        </extensions>
        <visibility></visibility>
    </parser>
    <transformer>
        <target>docs</target>
    </transformer>
    <logging>
        <level>warn</level>
        <paths>
            <default>{APP_ROOT}/data/log/{DATE}.log</default>
            <errors>{APP_ROOT}/data/log/{DATE}.errors.log</errors>
        </paths>
    </logging>
    <files>
        <ignore>src/View/*</ignore>
        <ignore>tests/*</ignore>
        <directory>src</directory>
    </files>
</phpdoc>

Please don't answer with just "No". Somebody must've figured this out.


Solution

  • The Comment from @bishop worked for me:

    Assuming your phpdoc.xml is in your top-level directory then this works:

    <files>
        <directory>vendor/**/*</directory>
        <directory>src</directory>
        <ignore>vendor/bin</ignore>
        <ignore>vend‌​or/composer</ignore>
        <ignore>src/View/*</ignore>
        <ignore>tests/*</ignore>
    </files>