Skip to content

feat(service): Provide PSR-4 service layer #66

Merged
ralflang merged 1 commit intoFRAMEWORK_6_0from
release/h6-admin-api
Mar 15, 2026
Merged

feat(service): Provide PSR-4 service layer #66
ralflang merged 1 commit intoFRAMEWORK_6_0from
release/h6-admin-api

Conversation

@ralflang
Copy link
Member

The new layer works without registry instantiation and reduces reliance on globals.

Provide a modern interface-based DI Service layer. Manager style factories read different kinds of config files such as registry, prefs, backends and conf.php from their canonical multiple layers. Based on this configuration layer, connection pool manager style factories expose foundation services such as "Db" and "Ldap". On top of these, modern factories for Auth, Prefs, Identity, Group, Permission and Introspection are provided. All new code is PSR-4 and PER-1 compliant. Access to config/registry/injector GLOBALS was largely avoided.

For integration with the existing framework, the new factories are registered in the legacy Registry.php Injector bootstrap. No core functionality of Horde for user productivity currently uses this new infrastructure and no removal/porting of existing lib/ factories is currently planned.

…tion.

Provide a modern interface-based DI Service layer.
Manager style factories read different kinds of config files such as registry, prefs, backends and conf.php from their canonical multiple layers.
Based on this configuration layer, connection pool manager style factories expose foundation services such as "Db" and "Ldap".
On top of these, modern factories for Auth, Prefs, Identity, Group, Permission and Introspection are provided.
All new code is PSR-4 and PER-1 compliant. Access to config/registry/injector GLOBALS was largely avoided.

For integration with the existing framework, the new factories are registered in the legacy Registry.php Injector bootstrap.
No core functionality of Horde for user productivity currently uses this new infrastructure and no removal/porting of existing lib/ factories is currently planned.
@ralflang ralflang merged commit fc0ce2a into FRAMEWORK_6_0 Mar 15, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant