PHPackages                             riddlestone/brokkr-graphql - 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. riddlestone/brokkr-graphql

ActiveLibrary[API Development](/categories/api)

riddlestone/brokkr-graphql
==========================

Laminas-based GraphQL integration

v0.2.1(4y ago)020BSD-3-ClausePHPPHP 7.4.\*

Since Oct 21Pushed 4y ago1 watchersCompare

[ Source](https://github.com/riddlestone/brokkr-graphql)[ Packagist](https://packagist.org/packages/riddlestone/brokkr-graphql)[ RSS](/packages/riddlestone-brokkr-graphql/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (3)Dependencies (5)Versions (4)Used By (0)

Brokkr GraphQL
==============

[](#brokkr-graphql)

This module provides an endpoint and plugin managers to assist with development of a Laminas-based GraphQL solution.

Endpoint
--------

[](#endpoint)

A placeholder route is provided to the router for the GraphQL endpoint, named `graphql`. It can be overridden using router config:

```
# module config
return [
    'router' => [
        'routes' => [
            'graphql' => [
                'type' => 'literal',
                'options' => [
                    'route' => 'api/graphql'
                ],
            ],
        ],
    ],
];
```

Types
-----

[](#types)

Types can be registered with the `GraphQLTypeManager` through configuration:

```
# module config
return [
    'graphql_types' => [
        'factories' => [
            'My\\TypeClass' => 'My\\TypeClassFactory',
        ],
    ],
];
```

Alternatively you can deal with the manager directly:

```
use Laminas\ServiceManager\ServiceManager;
use Riddlestone\Brokkr\GraphQL\Types\GraphQLTypeManager;

/** @var ServiceManager $serviceManager */

/** @var GraphQLTypeManager $typeManager */
$typeManager = $serviceManager->get(GraphQLTypeManager::class);

$typeManager->setFactory('My\\TypeClass', 'My\\TypeClassFactory');
```

Fields
------

[](#fields)

Fields can be registered with the `GraphQLFieldManager`, through configuration or directly.

```
# module config
return [
    'graphql_fields' => [
        'factories' => [
            'My\\FieldClass' => 'My\\FieldClassFactory',
        ],
    ],
];
```

```
use Laminas\ServiceManager\ServiceManager;
use Riddlestone\Brokkr\GraphQL\Fields\GraphQLFieldManager;

/** @var ServiceManager $serviceManager */

/** @var GraphQLFieldManager $fieldManager */
$fieldManager = $serviceManager->get(GraphQLFieldManager::class);

$fieldManager->setFactory('My\\FieldClass', 'My\\FieldClassFactory');
```

Note that fields do not need to be registered to use them in types, but will need to be registered for use as root query fields.

In order for fields to be available as a root element in a query, they need to be registered as query fields with the field manager through configuration.

You can optionally set the field name using the array key. This can be useful when reusing configurable classes to represent more than one field.

```
# module config
return [
    'graphql_fields' => [
        'query_fields' => [
            'field_classes' => 'My\\FieldClass',
        ],
    ],
];
```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~62 days

Total

3

Last Release

1541d ago

### Community

Maintainers

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

---

Top Contributors

[![ariddlestone](https://avatars.githubusercontent.com/u/1448695?v=4)](https://github.com/ariddlestone "ariddlestone (13 commits)")

###  Code Quality

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

![Health badge](/badges/riddlestone-brokkr-graphql/health.svg)

```
[![Health](https://phpackages.com/badges/riddlestone-brokkr-graphql/health.svg)](https://phpackages.com/packages/riddlestone-brokkr-graphql)
```

###  Alternatives

[nuwave/lighthouse

A framework for serving GraphQL from Laravel

3.5k10.7M93](/packages/nuwave-lighthouse)[thecodingmachine/graphqlite

Write your GraphQL queries in simple to write controllers (using webonyx/graphql-php).

5723.1M30](/packages/thecodingmachine-graphqlite)[wp-graphql/wp-graphql

GraphQL API for WordPress

3.8k391.7k19](/packages/wp-graphql-wp-graphql)[overblog/graphql-bundle

This bundle provides tools to build a GraphQL server in your Symfony App.

8027.9M28](/packages/overblog-graphql-bundle)[wheelpros/fitment-platform-api

Magento 2 (Open Source)

12.1k1.2k](/packages/wheelpros-fitment-platform-api)[aimeos/ai-admin-graphql

Aimeos Admin GraphQL API extension

944100.0k4](/packages/aimeos-ai-admin-graphql)

PHPackages © 2026

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