PHP source code API generator.

dev-master 2022-11-30 22:39 UTC

This package is auto-updated.

Last update: 2023-01-30 23:07:10 UTC


ApiGen is easy to use and modern API doc generator supporting all PHP 8.2 features.


Built on Shoulders of Giants


With Docker

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

With Phar

This will install ApiGen phar binary to tools/apigen.

mkdir -p tools
curl -L https://github.com/ApiGen/ApiGen/releases/download/v7.0.0-alpha.3/apigen.phar -o tools/apigen
chmod +x tools/apigen
tools/apigen src --output docs

With Composer

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.

  # 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'


To achieve the best performance you need

  • pcntl extension (required for parallel rendering) and
  • opcache extension with enabled JIT