phpDocumentor ============= What is phpDocumentor? ---------------------- phpDocumentor stands as the de-facto documentation tool for PHP projects, offering a robust solution for generating comprehensive documentation effortlessly. By analyzing your PHP source…

!Qa workflow
!Packagist Version
!Packagist Pre Release Version

phpDocumentor
=============
What is phpDocumentor?
----------------------
phpDocumentor stands as the de-facto documentation tool for PHP projects, offering a robust solution for generating
comprehensive documentation effortlessly. By analyzing your PHP source code and DocBlock comments, phpDocumentor
generates a complete set of API documentation, making it an indispensable tool for developers striving
for clear and well-documented codebases.
Beyond its prowess in API documentation, phpDocumentor goes further by providing additional features.
It is equipped with the ability to create UML diagrams, making it a versatile tool for visualizing code structure.
Additionally, phpDocumentor offers a full-featured markup language parser, supporting both RestructuredText
and Markdown syntax. This flexibility allows you to document your project using the markup language that best suits
your preferences.
A notable feature of phpDocumentor is its capability to include parts of your API documentation directly into your
RestructuredText documentation. This integration ensures that your documentation and code remain in sync, saving you
time and effort in maintaining accurate and up-to-date project documentation.
Inspired by its predecessors, phpDocumentor 1 and JavaDoc, phpDocumentor continues to innovate, staying up-to-date with
the latest technologies and PHP language features. This commitment ensures that developers have access to the best
possible documentation experience, aligning with modern development practices.
In this guide, we will explore the various features of phpDocumentor, from its core functionality in generating
API documentation to its advanced capabilities in parsing markup languages. Whether you're a beginner or an
experienced developer, phpDocumentor is your ally in creating well-documented, maintainable,
and understandable PHP projects.
phpDocumentor v3 (Stable)
------------------------------------
v3 is the latest stable release.
Documentation
-------------
For more detailed information, you can check our online documentation at https://docs.phpdoc.org/.
Features
--------
phpDocumentor supports the following:
- *PHP 7.0+ compatible*, full support for Namespaces, Closures and more are provided.
- *Docblock over types*, docblocks can be more explicit about types not all formats are supported by native php.
- *Shows any tag*, some tags add additional functionality to phpDocumentor (such as @link).
- *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
- *Easy template building*, if you want to make a branding you only have to call 1 task and edit 3 files.
- *Two-step process*, phpDocumentor first generates a cache with your application structure before creating the output.
- *Generics support*, with more static analysis in php types have become more complex. phpDocumentor understand these types.
Installation
------------
PhpDocumentor requires PHP 8.1 or higher to run.
However, code of earlier PHP versions can be analyzed.
All templates provided with phpDocumentor have support for Class diagrams based on the read code base.
This will require the application [PlantUml] to be installed on the machine running phpDocumentor.
Rendering the class diagrams using [PlantUml] is optional, and warnings about missing [PlantUml] can be ignored.
However, your documentation will contain some dead links in this case.
Class diagram will be created with option --setting=graphs.enabled=true.
There are 4 ways to install phpDocumentor:
1. Using phive (recommended)
2. Using the PHAR (manual install)
3. Via [Docker]
4. Via [Composer]
Using Phive
$ phive install phpDocumentor --trust-gpg-keys 6DA3ACC4991FFAE5
For more information about phive have a look at their website.
Now you have phpDocumentor installed, it can be executed like this:
php tools/phpDocumentor
Using the PHAR
1. Download the phar file from https://github.com/phpDocumentor/phpDocumentor/releases
2. You can execute the phar like this: php phpDocumentor.phar
Via Docker
1. $ docker pull phpdoc/phpdoc
2. $ docker run --rm -v $(pwd):/data phpdoc/phpdoc
Via Composer (not recommended)
But wait? What about composer?
Ah, you discovered our secret. There is a phpdocumentor composer package that you can use to install phpDocumentor.
However: phpDocumentor is a complex application, and its libraries are used in countless other libraries and applications (2 of our libraries have more than 150 million downloads each); and this means that the chances for a conflict between one of our dependencies and yours is high. And when I say high, it is really high.
So, because of the above: we do not endorse nor actively support installing phpDocumentor using Composer.
How to use phpDocumentor?
-------------------------
The easiest way to run phpDocumentor is by running the following command:
$ phpdoc run -d -t
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.
Nightly builds
PhpDocumentor doesn't have nightly releases.
However, during each pipeline a phar artifact is built.
If you want to test the bleeding edge version of phpDocumentor, have a look in the [actions] section of this repository.
Each successful QA workflow has an Artifacts section at the bottom with the phar artifact built.
Contact
-------
Reaching out to us is easy, and can be done with:
- Twitter: [@phpDocumentor]
- Website: https://www.phpdoc.org
- GitHub: https://www.github.com/phpDocumentor/phpDocumentor
- E-mail: [[email protected]]
-
ReflectionDocBlock
No description.
PHP ★ 9.4k 3mo agoExplain → -
TypeResolver
A PSR-5 based resolver of Class names, Types and Structural Element Names
PHP ★ 9.2k 2mo agoExplain → -
ReflectionCommon
No description.
PHP ★ 9.1k 7mo agoExplain → -
phpDocumentor
Documentation Generator for PHP
PHP ★ 4.3k 4d agoExplain → -
Reflection
Reflection library to do Static Analysis for PHP Projects
PHP ★ 125 2d agoExplain → -
GraphViz
No description.
PHP ★ 98 10mo agoExplain → -
guides
Guides library to parse documentation
PHP ★ 36 1d agoExplain → -
FlyFinder
No description.
PHP ★ 30 1mo agoExplain → -
Parallel ▣
A separate module to introduce parallelization into a project. Can be used in any project.
★ 17 14y agoExplain → -
template.responsive ▣
ABANDONED: This template is merged into phpDocumentor2 itself
JavaScript ★ 17 11y agoExplain → -
Scrybe ▣
[ABANDONED] This package will be included in phpDocumentor 3
PHP ★ 16 12y agoExplain → -
Fileset ▣
A fileset component that manages the collection of files using directories and filenames
PHP ★ 11 8y agoExplain → -
shim
phpDocumentor phar as composer package
PHP ★ 7 1mo agoExplain → -
plugin-twig ▣
[DEPRECATED] A plugin that adds Twig capabilities to phpDocumentor2
PHP ★ 6 13y agoExplain → -
template.new_black ▣
ABANDONED: This template is merged into phpDocumentor2 itself
CSS ★ 6 11y agoExplain → -
phpdoc.org ▣
The source of the phpDocumentor website
Twig ★ 6 5y agoExplain → -
template.abstract ▣
ABANDONED: This template is merged into phpDocumentor2 itself
XSLT ★ 5 11y agoExplain → -
UnifiedAssetInstaller ▣
ABANDONED
PHP ★ 4 8y agoExplain → -
guides-markdown
Guides library to parse Markdown into Guides AST
PHP ★ 3 1mo agoExplain → -
phar-ga ▣
Phar building github action
Shell ★ 3 3y agoExplain → -
template.zend ▣
ABANDONED: This template is merged into phpDocumentor2 itself
CSS ★ 3 11y agoExplain → -
template.old_ocean ▣
ABANDONED: This template is merged into phpDocumentor2 itself
JavaScript ★ 3 11y agoExplain → -
dev-server
A simple library to serve html files via php, with hot reloads
PHP ★ 2 5mo agoExplain → -
guides-core
Guides core library, handling markdown parsers, and rendering AST to output formats.
PHP ★ 2 1mo agoExplain → -
filesystem
No description.
PHP ★ 2 2mo agoExplain → -
template.clean ▣
ABANDONED: This template is merged into phpDocumentor2 itself
JavaScript ★ 2 11y agoExplain → -
template.checkstyle ▣
ABANDONED: This template is merged into phpDocumentor2 itself
★ 2 11y agoExplain → -
json-path
No description.
PHP ★ 1 2mo agoExplain → -
phpstan-ga ▣
phpstan github action for phpdocumentor
Dockerfile ★ 1 3y agoExplain → -
pdf.old_ocean ▣
Experimental PDF generation template
★ 1 14y agoExplain → -
template.responsive-twig ▣
ABANDONED: This template is merged into phpDocumentor2 itself
★ 1 11y agoExplain → -
.github
No description.
★ 0 2d agoExplain → -
guides-restructured-text
Guides library to parse ReStructured text into an AST
PHP ★ 0 1mo agoExplain → -
guides-theme-bootstrap
Theme repository for guides
PHP ★ 0 2mo agoExplain → -
guides-code
No description.
PHP ★ 0 3mo agoExplain → -
guides-cli
Console application to render guides
PHP ★ 0 3mo agoExplain → -
guides-graphs
No description.
PHP ★ 0 3mo agoExplain → -
guides-theme-rst
No description.
PHP ★ 0 5mo agoExplain → -
guides-djot
No description.
PHP ★ 0 6mo agoExplain → -
guides-symfony ▣
Integration library for guides with symfony applications
PHP ★ 0 2y agoExplain → -
coding-standard
No description.
Dockerfile ★ 0 3y agoExplain → -
quality-assurance
No description.
Makefile ★ 0 5y agoExplain → -
pear.phpdoc.org
The source for the pear repository for phpDocumentor
PHP ★ 0 6y agoExplain → -
example-project
Example project showing the usage of phpdocumentor. This should never be used in production!
★ 0 7y agoExplain → -
benchmarks
Expirimental phpdoc benchmarks
PHP ★ 0 8y agoExplain → -
manual.phpdoc.org
The old phpDocumentor v1 website and documentation for archival
HTML ★ 0 9y agoExplain →
No repos match these filters.