Skip to content
PHP 7.1 ready Smart and Simple Documentation for your PHP project
PHP HTML CSS JavaScript
Branch: master
Clone or download
Latest commit 85290e8 Apr 23, 2018
Permalink
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.md CODE_OF_CONDUCT added (#914) Jun 30, 2017
LICENSE LICENSE: break long line Mar 31, 2017
README.md forgot one themeDirectory in README.md 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
phpunit.xml

README.md

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

Install

composer require apigen/apigen --dev

Usage

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

Configuration

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

parameters:
    visibility_levels: [public, protected] # array
    annotation_groups: [todo, deprecated] # array
    title: "ApiGen Docs" # string
    base_url: "http://apigen.org/api" # 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()
 */

Generated

@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>

@link

A website url.

In Code

/**
 * This is already mentioned on Wiki.
 * @link https://en.wikipedia.org/wiki/United_we_stand,_divided_we_fall Click to see a cool quote
 */

Generated

This is already mentioned on Wiki.
@link <a href="https://en.wikipedia.org/wiki/United_we_stand,_divided_we_fall">Click to see a cool quote</a>

@internal

Associated element is internal, so ApiGen hides it.

Themes

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

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

Contributing

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.