PHPackages                             negreanucalin/multidoc-parser - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. negreanucalin/multidoc-parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

negreanucalin/multidoc-parser
=============================

0.1.5(4y ago)184[1 issues](https://github.com/negreanucalin/multidoc-parser/issues)[1 PRs](https://github.com/negreanucalin/multidoc-parser/pulls)1MITPHPCI passing

Since Nov 18Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/negreanucalin/multidoc-parser)[ Packagist](https://packagist.org/packages/negreanucalin/multidoc-parser)[ RSS](/packages/negreanucalin-multidoc-parser/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (6)Dependencies (7)Versions (10)Used By (1)

Multidoc Parser
===============

[](#multidoc-parser)

#### Check out [Multidoc viewer](https://github.com/negreanucalin/multidoc-viewer)

[](#check-out-multidoc-viewer)

#### Did you say [Laravel?](https://github.com/negreanucalin/multidoc-laravel)

[](#did-you-say-laravel)

### Testing

[](#testing)

Just manual-functional testing for now provided in folder `demo_files` by running `index.php` and check the output

### TODO list

[](#todo-list)

- Define mandatory and optional parameters by adding demo files
- Validate route params
    1. If FILE and JSON or named POST variables present throw error (only 1 of them)
    2. Parameter type validation (from list:uri,post, get)
    3. GET cannot have JSON and FILE
    4. Route validation: I. If parameter present in route check if it exists in list II. If parameter present check if uri
- Parses `*.yaml` files and generates a flat document containing the application's documentation
-

### Notes

[](#notes)

- No filename convention required
- You can organize however you want
- A sugestion would be to have multiple files:

    - `_project.yaml` - Project description
    - `_categories.yaml` - Menu items and sub-items
    - `user_route.yaml` - Route example
    - `another_route.yaml` - Route example
- Project

    - File name `_my_awesome_project.yaml`

```
project:
  name: My Awesome project
  version: 1
  description: Some awesome description
  environments:
    default: https://wwww.myproductionurl.com
    preprod: https://www.mypreproductionurl.com

```

- Categories
    - File name `_my_awesome_categories.yaml`

```
categories:
  cat1:
    name: Cat 1
    categories:
      cat2:
        name: Cat 2
  cat3:
      name: Cat 3
  cat4:
      name: Cat 4

```

- Route example
    - File name `user_route.yaml`

```
route:
  name: Some route 1
  description: Some desc 1
  tags: [tag1, tag2, tag3, tag4, tag5]
  category: cat1
  request:
      url: '{{environment}}/[:typeEntity][/:page]/comments'
      method: GET
      params:
        - name: typeEntity
          type: uri
          data_type: string
          description: Some desc
          optional: false
          example: posts
        - name: page
          type: uri
          data_type: int
          description: Some desc
          optional: true
          example: 1

```

- Multiple routes example
    - File name `some_routes.yaml`

```
route_list:
  - name: Some route 2
    description: Some desc 2
    tags: [tag1, tag2, tag3, tag4, tag 5]
    category: cat1
    request:
        url: '{{environment}}/[:typeEntity][/:page]/comments'
        method: GET
        params:
          - name: typeEntity
            type: uri
            data_type: string
            description: Some desc
            optional: false
            example: posts
          - name: page
            type: uri
            data_type: int
            description: Some desc
            optional: true
            example: 1
  - name: Some route 3
    description: Some desc 3
    request:
        url: '{{environment}}/users/2/comments'
        method: GET
    tags: [tag3, tag4]
    category: cat2
  - name: Some route 4
    description: Some desc 4
    tags: [tag3, tag4]
    category: cat2
    request:
        url: '{{environment}}/[:typeEntity][/:page]/comments'
        method: GET
    params:
      - name: typeEntity
        type: uri
        data_type: string
        description: Some desc
        optional: false
        example: posts
        possible_values: [posts,test]

```

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 70.8% 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

1679d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1260573?v=4)[Negreanu Calin](/maintainers/negreanucalin)[@negreanucalin](https://github.com/negreanucalin)

---

Top Contributors

[![negreanucalinadrian](https://avatars.githubusercontent.com/u/88328162?v=4)](https://github.com/negreanucalinadrian "negreanucalinadrian (46 commits)")[![negreanucalin](https://avatars.githubusercontent.com/u/1260573?v=4)](https://github.com/negreanucalin "negreanucalin (19 commits)")

---

Tags

documentationdocumentation-generation

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/negreanucalin-multidoc-parser/health.svg)

```
[![Health](https://phpackages.com/badges/negreanucalin-multidoc-parser/health.svg)](https://phpackages.com/packages/negreanucalin-multidoc-parser)
```

###  Alternatives

[symfony/framework-bundle

Provides a tight integration between Symfony components and the Symfony full-stack framework

3.6k246.0M11.1k](/packages/symfony-framework-bundle)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

101466.4k45](/packages/friendsoftypo3-content-blocks)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M524](/packages/shopware-core)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

54642.4k4](/packages/jolicode-castor)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9317.2k55](/packages/open-dxp-opendxp)

PHPackages © 2026

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