Skip to content
PHP 7.1 ready Smart and Simple Documentation for your PHP project
Branch: master
Clone or download
Latest commit 85290e8 Apr 23, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin cs fixes Aug 10, 2017
docs README: add screen Aug 3, 2017
packages Merge pull request #1026 from greenhost/1025-replace-camelcase-option… Apr 23, 2018
src configuration: resolve apigen.yml config case-insensitively Nov 20, 2017
tests last cs fixes Aug 10, 2017
.coveralls.yml Use Coveralls for coverage (#918) Jun 30, 2017
.editorconfig cleanup May 4, 2017
.gitattributes cleanup Jun 9, 2017
.gitignore cleanup Jun 9, 2017
.travis.yml travis: disable global install test, due to better-reflection PR comm… Aug 31, 2017 CODE_OF_CONDUCT added (#914) Jun 30, 2017
LICENSE LICENSE: break long line Mar 31, 2017 forgot one themeDirectory in Nov 20, 2017
apigen.yml [SymfonyDI] configuration fixes Jun 9, 2017
composer.json composer: update BR + ECS Oct 1, 2017
easy-coding-standard.neon composer: update BR + ECS Oct 1, 2017
phpstan.neon bump to PHPStan 0.8, add fixes Aug 2, 2017

Smart and Readable Documentation for your PHP project

Build Status Coverage Status Downloads Latest stable

ApiGen is the simplest, the easiest to use and the most modern api doc generator. It is all PHP 7.1 features ready easy to extend with own Finder, Annotation Subscriber or even Generator.

Just look at ApiGen API:

ApiGen Preview

Your Help is Needed to Finish 5.x Release

❤️ We need your help to test new version of ApiGen.

How to install it?

Add to your composer.json:

    "require": {
        "apigen/apigen": "dev-master",
        "roave/better-reflection": "dev-master#c87d856"

then update:

composer update

Test it, report issues or send PRs.

💀 Version 4.x is not supported, since there was huge change of Reflection library and the code was almost completely rewritten.

Built on Shoulders of Giants


composer require apigen/apigen --dev


Generate API docs by passing single source and destination options:

vendor/bin/apigen generate src --destination docs

Or generate API docs for multiple directories:

vendor/bin/apigen generate src tests --destination docs


Below is a minimal example configuration. Save it as a apigen.yml file in the root of your project:

    visibility_levels: [public, protected] # array
    annotation_groups: [todo, deprecated] # array
    title: "ApiGen Docs" # string
    base_url: "" # string
    overwrite: false # bool

What Annotations Have Extra Care?

@see, @covers, @uses

Reference to Class, Function, Property, Method etc. element.

In Code

 * @see SomeClass
 * @see SomeClass::$propety
 * @see SomeClass::someFunction()


@see <a href="class-SomeClass.html">SomeClass</a>
@see <a href="class-SomeClass.html#$someProperty">SomeClass::$property</a>
@see <a href="class-SomeClass.html#_someFunction">SomeClass::someFunction()</a>


A website url.

In Code

 * This is already mentioned on Wiki.
 * @link,_divided_we_fall Click to see a cool quote


This is already mentioned on Wiki.
@link <a href=",_divided_we_fall">Click to see a cool quote</a>


Associated element is internal, so ApiGen hides it.


To enable a custom theme just provide theme_directory configuration option in your apigen.yml:

    theme_directory: path/to/theme # path to theme's config file


Rules are simple:

  • new feature needs tests
  • all tests must pass
    composer complete-check
  • 1 feature per PR

We would be happy to merge your feature then.

You can’t perform that action at this time.