final class registry

internal  
 

Global registry of relations for all Domain classes.

Stores definitions for how to load related data. Structure: $relations[domain_class][relation_name] = [ 'callback' => callable($items, item_search_repository $repo): array, 'type' => 'hasMany', // optional metadata ];

Methods

static void
register(string $domain_class, string $relation_name, array $definition)

Register a relation for a given Domain class.

static array
get_for(string $domain_class)

Get all registered relations for a domain.

static array|null
get(string $domain_class, string $relation_name)

Get specific relation definition.

static bool
has(string $domain_class, string $relation_name)

Check if a relation exists.

static void
unregister(string $domain_class, string $relation_name)

Unregister a specific relation.

static void
clear_for(string $domain_class)

Clear all relations for a specific domain.

static void
clear_all()

Clear the entire registry.

Details

at line 51
static void register(string $domain_class, string $relation_name, array $definition)

Register a relation for a given Domain class.

Parameters

string $domain_class

FQCN of the domain entity

string $relation_name

Relation alias (snake_case)

array $definition

['callback' => callable]

Return Value

void

at line 67
static array get_for(string $domain_class)

Get all registered relations for a domain.

Parameters

string $domain_class

Return Value

array

at line 75
static array|null get(string $domain_class, string $relation_name)

Get specific relation definition.

Parameters

string $domain_class
string $relation_name

Return Value

array|null

at line 83
static bool has(string $domain_class, string $relation_name)

Check if a relation exists.

Parameters

string $domain_class
string $relation_name

Return Value

bool

at line 92
static void unregister(string $domain_class, string $relation_name)

Unregister a specific relation.

Useful for overriding or testing.

Parameters

string $domain_class
string $relation_name

Return Value

void

at line 102
static void clear_for(string $domain_class)

Clear all relations for a specific domain.

Parameters

string $domain_class

Return Value

void

at line 113
static void clear_all()

Clear the entire registry.

CRITICAL for PHPUnit isolation via tearDown().

Return Value

void