webimpress / zend-auradi-config
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
此库提供实用程序,用于使用 zend-servicemanager 配置来配置一个与 PSR-11 兼容的 Aura.Di 容器。
安装
运行以下命令安装此库
$ composer require zendframework/zend-auradi-config
配置
要获取配置好的 Aura.Di 容器,请执行以下操作
<?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 ]) );
dependencies
子关联数组可以包含以下键
services
:一个关联数组,将一个键映射到特定的服务实例。invokables
:一个关联数组,将一个键映射到一个无参数构造函数的服务;即对于不需要构造函数参数的服务。键和服务名称可能相同;如果不相同,名称被视为别名。factories
:一个关联数组,将服务名称映射到工厂类名称,或任何可调用的对象。工厂类必须无参数可实例化,并且一旦实例化即可调用(即实现__invoke()
方法)。aliases
:一个关联数组,将别名映射到服务名称(或另一个别名)。delegators
:一个关联数组,将服务名称映射到委托工厂键的列表,有关更多详细信息,请参阅 Expressive 委托者文档。
请注意,整个配置都可在
config
键的$container
上找到$config = $container->get('config');
与 Expressive 一起使用
将 config/container.php
的内容替换为以下内容
<?php use Zend\AuraDi\Config\Config; use Zend\AuraDi\Config\ContainerFactory; $config = require __DIR__ . '/config.php'; $factory = new ContainerFactory(); return $factory(new Config($config));