GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - ApiGen/ApiGen: PHP 7.1 ready Smart and Simple Documentation for your PHP project

BranchesTags
Open more actions menu

Latest commit

 

History

3,938 Commits
3,938 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
bin
bin
 
 
src
src
 
 
tests
tests
 
 
tools
tools
 
 
.dockerignore
.dockerignore
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
apigen.neon
apigen.neon
 
 
composer.json
composer.json
 
 
composer.lock
composer.lock
 
 
php.ini
php.ini
 
 
phpstan.neon
phpstan.neon
 
 

Repository files navigation

Smart and Readable Documentation for PHP projects

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

Features

  • phpDoc
    • all types supported by PHPStan
    • generic class declarations
    • local type aliases
  • PHP 8.3
    • typed class constants
  • PHP 8.2
    • constants in traits
    • fetch enum properties in const expressions
    • disjunctive normal form types
    • readonly classes
    • true, false and null types
  • PHP 8.1
    • enums
    • pure intersection types
    • never type
    • final class constants
    • new in initializers
    • readonly properties
  • PHP 8.0
    • constructor property promotion
    • union types
    • mixed type
    • static return type
  • PHP 7.4
    • typed properties
  • PHP 7.2
    • object type
  • PHP 7.1
    • nullable types
    • iterable type
    • void type
    • class constant visibility
  • PHP 7.0
    • scalar types
    • return types
  • PHP 5.6
    • constant scalar expressions
    • variadic functions
  • PHP 5.4
    • traits
    • callable type
    • binary integer notation

Built on Shoulders of Giants

  • nikic/php-parser
  • phpstan/phpdoc-parser
  • latte/latte
  • league/commonmark

Install

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/latest/download/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

Usage

Generate API docs by passing source directories and destination option:

apigen src --output docs

Configuration

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'

About

PHP 7.1 ready Smart and Simple Documentation for your PHP project

apigen.github.io/ApiGen/

Topics

apidocapigendocumentationgeneratorphpphp71

Resources

Readme
License
Activity
Custom properties

Stars

2.2k stars

Watchers

98 watching

Forks

310 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.