ApiGen is easy to use and modern API doc generator supporting all PHP 8.2 features.
- phpDoc
- PHP 8.2
- PHP 8.1
- PHP 8.0
- PHP 7.4
- PHP 7.2
- PHP 7.1
- PHP 7.0
- PHP 5.6
- PHP 5.4
ApiGen is available as apigen/apigen Docker image which you can directly use.
docker run --rm --interactive --tty --volume "$PWD:$PWD" --workdir "$PWD" \
apigen/apigen:edge \
src --output docs
This will install ApiGen phar binary to tools/apigen
.
mkdir -p tools
curl -L https://github.com/ApiGen/ApiGen/releases/latest/download/apigen.phar -o tools/apigen
chmod x tools/apigen
tools/apigen src --output docs
This will install ApiGen to tools/apigen
directory with executable entry point available in tools/apigen/bin/apigen
.
composer create-project --no-dev apigen/apigen:^7.0@alpha tools/apigen
tools/apigen/bin/apigen src --output docs
Generate API docs by passing source directories and destination option:
apigen src --output docs
ApiGen can be configured with apigen.neon
configuration file.
parameters:
# string[], passed as arguments in CLI, e.g. ['src']
paths: []
# string[], --include in CLI, included files mask, e.g. ['*.php']
include: ['*.php']
# string[], --exclude in CLI, excluded files mask, e.g. ['tests/**']
exclude: []
# bool, should protected members be excluded?
excludeProtected: false
# bool, should private members be excluded?
excludePrivate: true
# string[], list of tags used for excluding class-likes and members
excludeTagged: ['internal']
# string, --output in CLI
outputDir: '%workingDir%/api'
# string | null, --theme in CLI
themeDir: null
# string, --title in CLI
title: 'API Documentation'
# string, --base-url in CLI
baseUrl: ''
# int, --workers in CLI, number of processes that will be forked for parallel rendering
workerCount: 8
# string, --memory-limit in CLI
memoryLimit: '512M'