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(10mo ago)4206.4k1[4 issues](https://github.com/ScrumWorks/openapi-schema/issues)MITPHPPHP &gt;=8.1CI passing

Since Nov 10Pushed 10mo 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 3w 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

40

—

FairBetter than 86% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity65

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

311d ago

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

v0.8.0PHP &gt;=8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1800427?v=4)[Jakub Hadamcik](/maintainers/Hadamcik)[@Hadamcik](https://github.com/Hadamcik)

![](https://avatars.githubusercontent.com/u/659848?v=4)[Tomáš Lang](/maintainers/detrandix)[@detrandix](https://github.com/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.9k49.5M114](/packages/swagger-api-swagger-ui)[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

3.0k37.6M134](/packages/darkaonline-l5-swagger)[nette/bootstrap

🅱 Nette Bootstrap: the simple way to configure and bootstrap your Nette application.

68637.6M652](/packages/nette-bootstrap)[dedoc/scramble

Automatic generation of API documentation for Laravel applications.

2.1k11.2M100](/packages/dedoc-scramble)[cebe/php-openapi

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

49916.1M110](/packages/cebe-php-openapi)[jolicode/slack-php-api

An up to date PHP client for Slack's API

2564.7M13](/packages/jolicode-slack-php-api)

PHPackages © 2026

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