chubbyphp / chubbyphp-laminas-config
Chubbyphp container adapter using laminas service manager configuration.
Installs: 18 127
Dependents: 6
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: ^8.0
- chubbyphp/chubbyphp-container: ^2.1
Requires (Dev)
- chubbyphp/chubbyphp-dev-helper: dev-master
- chubbyphp/chubbyphp-mock: ^1.6.1
- infection/infection: ^0.26.5
- laminas/laminas-container-config-test: ^0.5
- php-coveralls/php-coveralls: ^2.5.2
- phploc/phploc: ^7.0.2
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.4.8
- phpunit/phpunit: ^9.5.17
README
Description
Chubbyphp container adapter using laminas service manager configuration.
Requirements
- php: ^8.0
- chubbyphp/chubbyphp-container: ^2.1
Installation
Through Composer as chubbyphp/chubbyphp-laminas-config.
composer require chubbyphp/chubbyphp-laminas-config "^1.3"
Usage
<?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');
Using with Mezzio
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));
Copyright
2023 Dominik Zogg