Chubbyphp container adapter using laminas service manager configuration.
- php: ^8.1
- chubbyphp/chubbyphp-container: ^2.2
Through Composer as chubbyphp/chubbyphp-laminas-config.
composer require chubbyphp/chubbyphp-laminas-config "^1.4"
<?php
declare(strict_types=1);
use Chubbyphp\Laminas\Config\Config;
use Chubbyphp\Laminas\Config\ContainerFactory;
$factory = new ContainerFactory();
$container = $factory(
new Config([
'dependencies' => [
'services' => [],
'invokables' => [],
'factories' => [],
'aliases' => [],
'delegators' => [],
],
// ... other configuration
])
);
The dependencies
sub associative array can contain the following keys:
services
: an associative array that maps a key to a specific service instance.invokables
: an associative array that map a key to a constructor-less service; i.e., for services that do not require arguments to the constructor. The key and service name usually are the same; if they are not, the key is treated as an alias.factories
: an associative array that maps a service name to a factory class name, or any callable. Factory classes must be instantiable without arguments, and callable once instantiated (i.e., implement the__invoke()
method).aliases
: an associative array that maps an alias to a service name (or another alias).delegators
: an associative array that maps service names to lists of delegator factory keys, see the Mezzio delegators documentation for more details.
Please note, that the whole configuration is available in the
$container
onconfig
key:$config = $container->get('config');
Replace the contents of config/container.php
with the following:
<?php
declare(strict_types=1);
use Chubbyphp\Laminas\Config\Config;
use Chubbyphp\Laminas\Config\ContainerFactory;
$config = require __DIR__ . '/config.php';
$factory = new ContainerFactory();
return $factory(new Config($config));
2025 Dominik Zogg