zend-auradi-config
Repository abandoned 2019-12-31
This repository has moved to laminas/laminas-auradi-config., (*1)
, (*2)
This library provides utilities to configure
a PSR-11 compatible
Aura.Di container
using zend-servicemanager configuration., (*3)
Installation
Run the following to install this library:, (*4)
$ composer require zendframework/zend-auradi-config
Configuration
To get a configured Aura.Di container, do the following:, (*5)
<?php
use Zend\AuraDi\Config\Config;
use Zend\AuraDi\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:, (*6)
-
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
Expressive delegators documentation
for more details.
Please note, that the whole configuration is available in the $container
on config key:, (*7)
$config = $container->get('config');
Using with Expressive
Replace the contents of config/container.php with the following:, (*8)
<?php
use Zend\AuraDi\Config\Config;
use Zend\AuraDi\Config\ContainerFactory;
$config = require __DIR__ . '/config.php';
$factory = new ContainerFactory();
return $factory(new Config($config));