ifcastle / service-manager
A library that allows organizing code according to the Services pattern.
Requires
- php: ^8.4
- ifcastle/design-patterns: ^0.4.0
- ifcastle/di: ^0.8.0
- 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
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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.