webimpress/zend-auradi-config

此包已被弃用且不再维护。作者建议使用 zendframework/zend-auradi-config 包。

PSR-11 Aura.DI 容器配置器,用于 ZF 和 Expressive 应用程序

1.0.0alpha1 2018-02-07 16:05 UTC

README

Build Status Coverage Status

此库提供实用程序,用于使用 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));