Skip to content
Documentation Generator for PHP
PHP HTML JavaScript Gherkin CSS Dockerfile Other
Branch: master
Clone or download
dependabot-preview Bump league/flysystem from 1.0.57 to 1.0.61
Bumps [league/flysystem]( from 1.0.57 to 1.0.61.
- [Release notes](
- [Changelog](
- [Commits](thephpleague/flysystem@1.0.57...1.0.61)

Signed-off-by: dependabot-preview[bot] <>
Latest commit bdc0487 Dec 9, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Made LinkRenderer more readable Dec 8, 2019
bin Replace tedivm/stash with Symfony Cache Nov 27, 2019
config Fragments cannot be expressed in a route Nov 28, 2019
data Initial setup for new template Nov 28, 2019
docker Switch from xdebug to pcov for Code Coverage Nov 25, 2019
docs Remove XML Writer and Supporting classes Nov 25, 2019
src/phpDocumentor Links are not rendered to the correct location Dec 8, 2019
tests Links are not rendered to the correct location Dec 8, 2019
tools Add behat as binary Nov 29, 2019
.dockerignore Improvements in docker image Aug 26, 2019
.env Initial effort to replace Cilex with Symfony4 Apr 27, 2018
.env.dist Initial effort to replace Cilex with Symfony4 Apr 27, 2018
.gitattributes Remove vagrant, improve docker flow and remove old build artefacts Jan 1, 2018
.gitignore Add Symfony's var-dump-server binary to the gitignore Dec 7, 2019
.scrutinizer.yml don't analyze phpstan Jan 11, 2018 Introduce flysystem for parser source Dec 10, 2017 Update with new branches and repo names Nov 23, 2019
Dockerfile Upgrade to Symfony 5 Nov 26, 2019
LICENSE add license name Jan 9, 2018
Makefile Made LinkRenderer more readable Dec 8, 2019 Removed Travis and Appveyor since Github Actions does all Dec 7, 2019
VERSION fixed version Feb 11, 2018
behat.yml Change paths to the phpDocumentor.phar for Behat Dec 7, 2019
box.json Improve box config Aug 11, 2019
composer-require-config.json Allow Composer's autoloader Dec 2, 2019
composer.json Make the router even leaner Dec 8, 2019
composer.lock Bump league/flysystem from 1.0.57 to 1.0.61 Dec 10, 2019
docker-compose.yml Tighten up coding standards Dec 2, 2019
phive.xml Simplify installation of phive and add ocular Nov 25, 2019
phpcs.xml.dist Fix remaining PHPCS and PHPStan issues Dec 2, 2019
phpdoc.dist.xml Remove basic plugin support Jun 13, 2019
phpmd.xml.dist Fixing type inference and variable length issues Jul 31, 2014
phpstan.neon Fix remaining PHPCS and PHPStan issues Dec 2, 2019
phpunit.xml.dist Added more strictness to the unit tests Nov 25, 2019
symfony.lock Make the router even leaner Dec 8, 2019

License: MIT Build Status Scrutinizer Code Coverage Scrutinizer Code Quality Packagist Version Packagist Pre Release Version Downloads


What is phpDocumentor?

phpDocumentor is an application that is capable of analyzing your PHP source code and DocBlock comments to generate a complete set of API Documentation.

Inspired by phpDocumentor 1 and JavaDoc it continues to innovate and is up to date with the latest technologies and PHP language features.


phpDocumentor supports the following:

  • PHP 7.0 compatible, full support for Namespaces, Closures and more is provided.
  • Shows any tag, some tags add additional functionality to phpDocumentor (such as @link).
  • Processing speed, Zend Framework experienced a significant reduction in processing time compared to phpDocumentor 1.
  • Low memory usage, peak memory usage for small projects is less than 20MB, medium projects 40MB and large frameworks 100MB.
  • Incremental parsing, if you kept the Structure file from a previous run you get an additional performance boost of up to 80% on top of the mentioned processing speed above.
  • Easy template building, if you want to make a branding you only have to call 1 task and edit 3 files.
  • Command-line compatibility with phpDocumentor 1, phpDocumentor 2 is an application in its own right but the basic phpDocumentor 1 arguments, such as --directory, --file and --target, have been adopted.
  • Two-step process, phpDocumentor first generates a cache with your application structure before creating the output. If you'd like you can use that to power your own tools or formatters!

Please note that phpDocumentor 3 is still under heavy development. We aim to add all features needed to have full support for php 7+. But at this moment that is not the case.


phpDocumentor requires the following:

Note: If you do not want to install the Graphviz dependency you are encouraged to generate your own template and make sure that it does not contain anything related to Graph. An easier solution might be to edit data/templates/responsive/template.xml file and remove every line containing the word Graph but this will be undone with every upgrade of phpDocumentor.

Please see the documentation about creating your own templates for more information.


There are 3 ways to install phpDocumentor:

  1. Using the PHAR
  2. Via Docker
  3. Via Composer

Using the PHAR

  1. Download the phar file from
  2. ???
  3. Profit!

Via docker

  1. $ docker pull phpdoc/phpdoc
  2. $ docker run --rm -v $(pwd):/data phpdoc/phpdoc

Via Composer

  1. phpDocumentor is available on Packagist.

  2. It can be installed as a dependency of your project by running

     $ composer require --dev phpdocumentor/phpdocumentor dev-master

Afterwards you are able to run phpDocumentor directly from your vendor directory:

$ php vendor/bin/phpdoc

Please note that we are not able to be compatible with all types of setups. In some situations phpDocumentor will block updates of other packages. We do not recommend using composer to install phpDocumentor.


Starting from phpDocumentor v3 we decided to drop pear support. We will provide the already released versions of phpDocumentor v2. But these versions won't be maintained.

How to use phpDocumentor?

The easiest way to run phpDocumentor is by running the following command:


This command will parse the source code provided using the -d argument and output it to the folder indicated by the -t argument.

phpDocumentor supports a whole range of options to configure the output of your documentation. You can execute the following command, or check our website, for a more detailed listing of available command line options.

$ phpdoc run -h

Configuration file(s)

phpDocumentor also supports the use of configuration files (named phpdoc.xml or phpdoc.dist.xml by default). Please consult the documentation to see the format and supported options.


For more detailed information you can check our online documentation at


To come in contact is actually dead simple and can be done in a variety of ways.

You can’t perform that action at this time.