ifcastle / service-manager
A library that allows organizing code according to the Services pattern.
v0.6.10
2024-11-08 12:30 UTC
Requires
- ifcastle/design-patterns: ^0.3.0
- ifcastle/di: ^0.7.1
- ifcastle/exceptions: ^5.0
- ifcastle/type-definitions: ^0.5.0
Requires (Dev)
- amphp/php-cs-fixer-config: ^2.1
- friendsofphp/php-cs-fixer: ^3.60
- ifcastle/codestyle: ^0.1.7
- phpstan/phpstan: ^1.12
- phpunit/phpunit: ^11.2
README
Library for organizing the service layer
.
This architecture is designed for stateful applications that distribute request execution across different workers.
The library provides a ready-made service layer architecture but does not contain a 100% implementation of the contracts.
The following contracts are external and should be implemented in other components:
Service repository:
- RepositoryReaderInterface
- ServiceCollectionInterface
- ServiceCollectionWriterInterface
see https://github.com/EdmondDantes/configurator-ini for implementation example. and https://github.com/EdmondDantes/configuator-toml for TOML syntax.
Access control:
- AccessCheckerInterface
Command bus:
- CommandDescriptorInterface
- ExecutionContextInterface
Interceptors:
- ParameterResolverInterface
Tracing:
- ServiceTracerInterface
Task runner and Workers:
- TaskRunnerInterface
- WorkerExecutorInterface
See Architecture for more information.