{"id":13622802,"url":"https://github.com/apigen/apigen","last_synced_at":"2025-05-14T05:10:31.908Z","repository":{"id":44390621,"uuid":"1415827","full_name":"ApiGen/ApiGen","owner":"ApiGen","description":"PHP 7.1 ready Smart and Simple Documentation for your PHP project","archived":false,"fork":false,"pushed_at":"2025-02-21T14:28:13.000Z","size":10929,"stargazers_count":2163,"open_issues_count":24,"forks_count":309,"subscribers_count":102,"default_branch":"master","last_synced_at":"2025-04-11T14:19:15.179Z","etag":null,"topics":["apidoc","apigen","documentation","generator","php","php71"],"latest_commit_sha":null,"homepage":"http://apigen.github.io/ApiGen/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ApiGen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-02-26T20:23:53.000Z","updated_at":"2025-04-03T08:51:46.000Z","dependencies_parsed_at":"2024-06-18T10:49:30.476Z","dependency_job_id":"d9522bd7-9438-47e7-8f83-69cb3d642e0b","html_url":"https://github.com/ApiGen/ApiGen","commit_stats":{"total_commits":3555,"total_committers":76,"mean_commits":"46.776315789473685","dds":0.7260196905766526,"last_synced_commit":"3bb9e40f8ac23a347a4d692660c2cc9d8fb1e873"},"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApiGen%2FApiGen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApiGen%2FApiGen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApiGen%2FApiGen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApiGen%2FApiGen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ApiGen","download_url":"https://codeload.github.com/ApiGen/ApiGen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076850,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apidoc","apigen","documentation","generator","php","php71"],"created_at":"2024-08-01T21:01:24.273Z","updated_at":"2025-05-14T05:10:31.884Z","avatar_url":"https://github.com/ApiGen.png","language":"PHP","readme":"# Smart and Readable Documentation for PHP projects\n\nApiGen is easy to use and modern API doc generator **supporting all PHP 8.3 features**.\n\n\n## Features\n\n- phpDoc\n  - [all types supported by PHPStan](https://phpstan.org/writing-php-code/phpdoc-types)\n  - [generic class declarations](https://phpstan.org/blog/generics-in-php-using-phpdocs)\n  - [local type aliases](https://phpstan.org/writing-php-code/phpdoc-types#local-type-aliases)\n- PHP 8.3\n  - [typed class constants](https://wiki.php.net/rfc/typed_class_constants)\n- PHP 8.2\n  - [constants in traits](https://wiki.php.net/rfc/constants_in_traits)\n  - [fetch enum properties in const expressions](https://wiki.php.net/rfc/fetch_property_in_const_expressions)\n  - [disjunctive normal form types](https://wiki.php.net/rfc/dnf_types)\n  - [readonly classes](https://wiki.php.net/rfc/readonly_classes)\n  - [true](https://wiki.php.net/rfc/true-type), [false and null types](https://wiki.php.net/rfc/null-false-standalone-types)\n- PHP 8.1\n  - [enums](https://wiki.php.net/rfc/enumerations)\n  - [pure intersection types](https://wiki.php.net/rfc/pure-intersection-types)\n  - [never type](https://wiki.php.net/rfc/noreturn_type)\n  - [final class constants](https://wiki.php.net/rfc/final_class_const)\n  - [new in initializers](https://wiki.php.net/rfc/new_in_initializers)\n  - [readonly properties](https://wiki.php.net/rfc/readonly_properties_v2)\n- PHP 8.0\n  - [constructor property promotion](https://wiki.php.net/rfc/constructor_promotion)\n  - [union types](https://wiki.php.net/rfc/union_types_v2)\n  - [mixed type](https://wiki.php.net/rfc/mixed_type_v2)\n  - [static return type](https://wiki.php.net/rfc/static_return_type)\n- PHP 7.4\n  - [typed properties](https://wiki.php.net/rfc/typed_properties_v2)\n- PHP 7.2\n  - [object type](https://wiki.php.net/rfc/object-typehint)\n- PHP 7.1\n  - [nullable types](https://wiki.php.net/rfc/nullable_types)\n  - [iterable type](https://wiki.php.net/rfc/iterable)\n  - [void type](https://wiki.php.net/rfc/void_return_type)\n  - [class constant visibility](https://wiki.php.net/rfc/class_const_visibility)\n- PHP 7.0\n  - [scalar types](https://wiki.php.net/rfc/scalar_type_hints_v5)\n  - [return types](https://wiki.php.net/rfc/return_types)\n- PHP 5.6\n  - [constant scalar expressions](https://wiki.php.net/rfc/const_scalar_exprs)\n  - [variadic functions](https://wiki.php.net/rfc/variadics)\n- PHP 5.4\n  - [traits](https://wiki.php.net/rfc/horizontalreuse)\n  - [callable type](https://wiki.php.net/rfc/callable)\n  - [binary integer notation](https://wiki.php.net/rfc/binnotation4ints)\n\n\n## Built on Shoulders of Giants\n\n- [nikic/php-parser](https://github.com/nikic/PHP-Parser)\n- [phpstan/phpdoc-parser](https://github.com/phpstan/phpdoc-parser)\n- [latte/latte](https://github.com/nette/latte)\n- [league/commonmark](https://github.com/thephpleague/commonmark)\n\n\n## Install\n\n### With Docker\n\nApiGen is available as [apigen/apigen](https://hub.docker.com/r/apigen/apigen) Docker image which you can directly use.\n\n```bash\ndocker run --rm --interactive --tty --volume \"$PWD:$PWD\" --workdir \"$PWD\" \\\n  apigen/apigen:edge \\\n  src --output docs\n```\n\n\n### With Phar\n\nThis will install ApiGen phar binary to `tools/apigen`.\n\n```bash\nmkdir -p tools\ncurl -L https://github.com/ApiGen/ApiGen/releases/latest/download/apigen.phar -o tools/apigen\nchmod +x tools/apigen\ntools/apigen src --output docs\n```\n\n\n### With Composer\n\nThis will install ApiGen to `tools/apigen` directory with executable entry point available in `tools/apigen/bin/apigen`.\n\n```bash\ncomposer create-project --no-dev apigen/apigen:^7.0@alpha tools/apigen\ntools/apigen/bin/apigen src --output docs\n```\n\n\n## Usage\n\nGenerate API docs by passing source directories and destination option:\n\n```bash\napigen src --output docs\n```\n\n\n## Configuration\n\nApiGen can be configured with `apigen.neon` configuration file.\n\n```neon\nparameters:\n  # string[], passed as arguments in CLI, e.g. ['src']\n  paths: []\n\n  # string[], --include in CLI, included files mask, e.g. ['*.php']\n  include: ['*.php']\n\n  # string[], --exclude in CLI, excluded files mask, e.g. ['tests/**']\n  exclude: []\n\n  # bool, should protected members be excluded?\n  excludeProtected: false\n\n  # bool, should private members be excluded?\n  excludePrivate: true\n\n  # string[], list of tags used for excluding class-likes and members\n  excludeTagged: ['internal']\n\n  # string, --output in CLI\n  outputDir: '%workingDir%/api'\n\n  # string | null, --theme in CLI\n  themeDir: null\n\n  # string, --title in CLI\n  title: 'API Documentation'\n\n  # string, --base-url in CLI\n  baseUrl: ''\n\n  # int, --workers in CLI, number of processes that will be forked for parallel rendering\n  workerCount: 8\n\n  # string, --memory-limit in CLI\n  memoryLimit: '512M'\n```\n","funding_links":[],"categories":["文档","Table of Contents","文档 Documentation","PHP","目录","Documentation","文档( Documentation )"],"sub_categories":["Documentation","文档 Documentation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapigen%2Fapigen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapigen%2Fapigen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapigen%2Fapigen/lists"}