| Package Data | |
|---|---|
| Maintainer Username: | Zany101 |
| Maintainer Contact: | d.verhoeven@netmex.nl (Danny) |
| Package Create Date: | 2025-12-31 |
| Package Last Update: | 2026-01-15 |
| Home Page: | |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2026-02-03 03:03:15 |
| Package Statistics | |
|---|---|
| Total Downloads: | 0 |
| Monthly Downloads: | 0 |
| Daily Downloads: | 0 |
| Total Stars: | 0 |
| Total Watchers: | 0 |
| Total Forks: | 0 |
| Total Open Issues: | 0 |
LuminaBundle — A Symfony bundle providing Lighthouse-inspired GraphQL support with automatic Doctrine integration, custom resolvers, scalars, directives, queries, and mutations.
Netmex Lumina is a directive-driven GraphQL framework for Symfony.
Instead of writing resolvers, repositories, or query builders by hand, Lumina lets you describe behavior directly in your GraphQL schema using custom directives. Those directives are compiled once into Intents, which are then executed efficiently at runtime.
Lumina focuses on:
Your GraphQL schema is the source of truth.
type Query {
users(name: String @where): [User] @all
}
No resolver classes.
No wiring.
The schema defines everything.
Each directive represents a unit of intent.
Examples:
@all - Fetch all records.@where - Filter records by field.@orderBy - Sort records.Directives are:
At schema compile time:
These intents are stored in an IntentRegistry and reused during execution.
At runtime:
QueryBuilder
composer require netmex/lumina
Lumina comes with many built-in directives, including:
@all, @find, @where, @orderBy, @limit, @offset, @paginate
@hasMany, @belongsTo, @join
@create, @update, @delete, @validate
@count, @sum, @avg
@can, @role, @owner
@deprecated
For detailed usage and examples, see the Directive Documentation.
Lumina allows you to create custom directives that can:
See the Creating a Directive Guide for a full example.
The core architecture is stable and functional. More directives and documentation are planned.
MIT License