webimpress / zend-auradi-config
This package is abandoned and no longer maintained.
The author suggests using the zendframework/zend-auradi-config package instead.
PSR-11 Aura.DI container configurator for ZF and Expressive applications
1.0.0alpha1
2018-02-07 16:05 UTC
Requires
- php: ^7.1
- aura/di: ^3.4
Requires (Dev)
- phpunit/phpunit: ^6.5.4
- zendframework/zend-coding-standard: ~1.0.0
Conflicts
This package is auto-updated.
Last update: 2019-05-20 20:48:57 UTC
README
This library provides utilities to configure a PSR-11 compatible Aura.Di container using zend-servicemanager configuration.
Installation
Run the following to install this library:
$ composer require zendframework/zend-auradi-config
Configuration
To get a configured Aura.Di container, do the following:
<?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:
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 may be the same; if they are not, the name 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
onconfig
key:$config = $container->get('config');
Using with Expressive
Replace the contents of config/container.php
with the following:
<?php use Zend\AuraDi\Config\Config; use Zend\AuraDi\Config\ContainerFactory; $config = require __DIR__ . '/config.php'; $factory = new ContainerFactory(); return $factory(new Config($config));