PHPackages                             scrumworks/openapi-schema - 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. [API Development](/categories/api)
4. /
5. scrumworks/openapi-schema

ActiveLibrary[API Development](/categories/api)

scrumworks/openapi-schema
=========================

OpenAPI schema reader/generator

v0.15(8mo ago)4206.4k1[4 issues](https://github.com/ScrumWorks/openapi-schema/issues)MITPHPPHP &gt;=8.1CI passing

Since Nov 10Pushed 8mo ago7 watchersCompare

[ Source](https://github.com/ScrumWorks/openapi-schema)[ Packagist](https://packagist.org/packages/scrumworks/openapi-schema)[ RSS](/packages/scrumworks-openapi-schema/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (10)Dependencies (11)Versions (41)Used By (0)

OpenApi schema parser
=====================

[](#openapi-schema-parser)

[![Build Status](https://github.com/ScrumWorks/openapi-schema/workflows/build/badge.svg?branch=master)](https://github.com/ScrumWorks/openapi-schema)

Installation
------------

[](#installation)

```
composer require scrumworks/openapi-schema

```

Example
-------

[](#example)

```
class User
{
    public string $name;
    public string $surname;
}

class Test
{
    /**
     * @var integer
     */
    public int $test;

    public ?string $name;

    /**
     * @var User[]
     */
    public array $users;
}

$di = new \ScrumWorks\OpenApiSchema\DiContainer();
$schemaParser = $di->getSchemaParser();
$schema = $schemaParser->getEntitySchema('Test');
// Now you can get informations about entity schema
assert($schema->getPropertySchema('test') instanceof \ScrumWorks\OpenApiSchema\ValueSchema\IntegerSchema);

// Getting OpenAPI entity schema (result is PHP array)
$openApiTranslator = $di->getOpenApiTranslator();
$openApiValueSchema = $openApiTranslator->translateValueSchema($schema);
```

Testing
-------

[](#testing)

You can run the tests with:

```
composer run-script test

```

Contribution Guide
------------------

[](#contribution-guide)

Feel free to open an Issue or add a Pull request.

Credits
-------

[](#credits)

People:

- [Tomas Lang](https://github.com/detrandix)
- [Adam Lutka](https://github.com/AdamLutka)

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 56.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 ~70 days

Recently: every ~97 days

Total

26

Last Release

265d ago

PHP version history (2 changes)v0.2.0PHP &gt;=7.4

v0.8.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/d2b112a28f67543a29cb35ea4f2d46d71adcfed6f2a6cda2f974d95eb12921f7?d=identicon)[Hadamcik](/maintainers/Hadamcik)

![](https://www.gravatar.com/avatar/fae89f8f15fefa8e47054b761ea6c47be3e356bbac209481f610259f5e317212?d=identicon)[detrandix](/maintainers/detrandix)

---

Top Contributors

[![detrandix](https://avatars.githubusercontent.com/u/659848?v=4)](https://github.com/detrandix "detrandix (63 commits)")[![AdamLutka](https://avatars.githubusercontent.com/u/38178278?v=4)](https://github.com/AdamLutka "AdamLutka (33 commits)")[![TomasVotruba](https://avatars.githubusercontent.com/u/924196?v=4)](https://github.com/TomasVotruba "TomasVotruba (7 commits)")[![doomy](https://avatars.githubusercontent.com/u/1188466?v=4)](https://github.com/doomy "doomy (5 commits)")[![dada-amater](https://avatars.githubusercontent.com/u/3747040?v=4)](https://github.com/dada-amater "dada-amater (2 commits)")[![Fillip-B](https://avatars.githubusercontent.com/u/149578532?v=4)](https://github.com/Fillip-B "Fillip-B (1 commits)")

---

Tags

openapi

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/scrumworks-openapi-schema/health.svg)

```
[![Health](https://phpackages.com/badges/scrumworks-openapi-schema/health.svg)](https://phpackages.com/packages/scrumworks-openapi-schema)
```

###  Alternatives

[swagger-api/swagger-ui

 Swagger UI is a collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.

28.7k45.4M99](/packages/swagger-api-swagger-ui)[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[dedoc/scramble

Automatic generation of API documentation for Laravel applications.

2.0k7.8M57](/packages/dedoc-scramble)[cebe/php-openapi

Read and write OpenAPI yaml/json files and make the content accessable in PHP objects.

49815.4M86](/packages/cebe-php-openapi)[jolicode/slack-php-api

An up to date PHP client for Slack's API

2534.4M12](/packages/jolicode-slack-php-api)[darkaonline/swagger-lume

OpenApi or Swagger integration to Lumen

3372.3M3](/packages/darkaonline-swagger-lume)

PHPackages © 2026

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