PHPackages                             world-warm-worm/autodoc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. world-warm-worm/autodoc

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

world-warm-worm/autodoc
=======================

Generates documentation of classes methods in several file formats

6.0.0(8mo ago)011Apache-2.0PHPPHP 8.4.\*

Since Sep 4Pushed 8mo agoCompare

[ Source](https://github.com/worldWarmWorm/autodoc)[ Packagist](https://packagist.org/packages/world-warm-worm/autodoc)[ Docs](https://github.com/worldWarmWorm/autodoc)[ RSS](/packages/world-warm-worm-autodoc/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (6)Dependencies (5)Versions (13)Used By (0)

Yo! [![](https://raw.githubusercontent.com/blackcater/blackcater/main/images/Hi.gif)](https://raw.githubusercontent.com/blackcater/blackcater/main/images/Hi.gif)
=================================================================================================================================================================

[](#yo-)

What can a library do?
----------------------

[](#what-can-a-library-do)

Documents methods of any class, regardless of access modifiers, in two json and yaml formats. All you need to do is call the constructor of the `JsonAutodoc` or `YamlAutodoc` class, throw an object of the class into it, the methods of which need to be documented and comply with the requirement that the documented class implement the `EndpointInterface` interface. Where can I call the constructor of the `JsonAutodoc` or `YamlAutodoc` class? It depends on your needs. For example, I'm in my project the `JsonAutodoc` constructor was called in the constructor body of the class, which is an API for a third-party service. This way, the documentation is reassembled every time the API endpoint is called and is always up to date.

Hou to use?
-----------

[](#hou-to-use)

```
$objectToDocument = new MyClass();

new JsonAutodoc($objectToDocument)->generate(
    "The documentation of " . $objectToDocument::class . " endpoints",
    '/path/to/file'
);

new YamlAutodoc($objectToDocument)->generate(
    "The documentation of " . $objectToDocument::class . " endpoints",
    '/path/to/file'
);
```

Usage examples
--------------

[](#usage-examples)

[/tests/EndpointAutodocTest.php](https://github.com/worldWarmWorm/autodoc/blob/a8683403fa89e7c2f5921179fca08a05026927b7/tests/EndpointAutodocTest.php#L18)

[/src/Api/Product/Controller/ProductController.php](https://github.com/worldWarmWorm/autodoc/blob/a8683403fa89e7c2f5921179fca08a05026927b7/src/Api/Product/Controller/ProductController.php#L41)

What if my project is written on the symfony/laravel/yii framework?
-------------------------------------------------------------------

[](#what-if-my-project-is-written-on-the-symfonylaravelyii-framework)

The library is easily integrated. You can use this approach: if you work on any of the modern MVC frameworks, then generate your own documentation file for each controller. Select another controller, where there will be a list links to the documentation of all other controllers as in the example with the file index.php this library. This way it will be possible for any of the colleagues on the project (not just the programmer) to have an idea of how the controllers in the project or API work.

What if I want to use your library, but my project doesn't have composer?
-------------------------------------------------------------------------

[](#what-if-i-want-to-use-your-library-but-my-project-doesnt-have-composer)

Download the zip from my repository and unzip the library folder. To work with the library, you will only need the `/src/Autodoc` folder, but it uses the namespaces specified in `/composer.json` in its files. The files may not be located in your project. Most likely, you will need to replace the library's namespaces with your own.

That's all
----------

[](#thats-all)

If you want to join to develop this project - you are welcome in pull requests. If you find smth not working you are welcome to issues.

Find me in [telegram](https://t.me/davydkin_valery) or [email](mailto:world-warm-worm@ya.ru).

###  Health Score

36

—

LowBetter than 81% of packages

Maintenance65

Regular maintenance activity

Popularity2

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 76.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

6

Last Release

243d ago

Major Versions

1.0.0 → 2.0.02025-09-04

2.0.0 → 3.0.02025-09-05

3.0.0 → 4.0.02025-09-06

4.0.0 → 5.0.02025-09-06

5.0.0 → 6.0.02025-09-08

PHP version history (6 changes)1.0.0PHP &gt;=7.4

2.0.0PHP 8.0.\*

3.0.0PHP 8.1.\*

4.0.0PHP 8.2.\*

5.0.0PHP 8.3.\*

6.0.0PHP 8.4.\*

### Community

Maintainers

![](https://www.gravatar.com/avatar/70c409b479c2d9978c367f6043e45425e52ce243a2ace6c816e6146234f5264f?d=identicon)[worldWarmWorm](/maintainers/worldWarmWorm)

---

Top Contributors

[![v-davydkin](https://avatars.githubusercontent.com/u/214583370?v=4)](https://github.com/v-davydkin "v-davydkin (10 commits)")[![worldWarmWorm](https://avatars.githubusercontent.com/u/55996030?v=4)](https://github.com/worldWarmWorm "worldWarmWorm (3 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/world-warm-worm-autodoc/health.svg)

```
[![Health](https://phpackages.com/badges/world-warm-worm-autodoc/health.svg)](https://phpackages.com/packages/world-warm-worm-autodoc)
```

###  Alternatives

[vmwarephp/vmwarephp

Vmware vSphere bindings for PHP

7818.8k](/packages/vmwarephp-vmwarephp)[orrison/cumulus

Import DNS records from Laravel Vapor into Cloudflare

3817.1k](/packages/orrison-cumulus)[friends-of-hyva/magento2-crawler-session

Prevent crawlers from creating a session

155.8k](/packages/friends-of-hyva-magento2-crawler-session)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
