zendframework/zend-auradi-config

此包已被废弃,不再维护。作者建议使用laminas/laminas-auradi-config包代替。

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

1.0.2 2019-05-20 20:48 UTC

This package is auto-updated.

Last update: 2020-01-20 18:03:32 UTC


README

仓库于 2019-12-31 废弃

此仓库已迁移至 laminas/laminas-auradi-config

Build Status Coverage Status

此库提供工具,用于使用 zend-servicemanager 配置来配置一个兼容 PSR-11Aura.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));