Warning! This package won't worry about backward compatibily for
v0.*
.
Yet another service resolver (aka service container) implementation following PSR-11 Container interface.
$ composer require bauhaus/service-resolver
<?php
use Bauhaus\ServiceResolverSettings;
$psrContainer = ServiceResolverSettings::new()
->withDefintionFiles(
'path/file-1.php',
'path/file-2.php',
)
->withServices([
'service-id-1' => fn () => YourService(), // lazy loaded
'service-id-2' => new YourService(),
])
->withDiscoverableNamespaces(
'App\\Namespace1',
'App\\Namespace2',
)
->build();
$psrContainer->has($serviceId);
$psrContainer->get($serviceId);