laminas/laminas-auradi-config

此包已被弃用且不再维护。未建议替代包。

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

2.6.0 2023-12-05 11:13 UTC

README

弃用

此包已被弃用,将不再进行进一步开发!

查看技术指导委员会 会议纪要

🇷🇺 俄罗斯公民

我们,Laminas 的参与者,来自不同的国家。我们中许多人有在俄罗斯和乌克兰的朋友、亲戚和同事。我们中的一些人生于俄罗斯。我们中的一些人目前居住在俄罗斯。我们中的一些人的祖父母在二战中与法西斯作战。这里没有人支持法西斯主义。

我们中的一位成员有一位乌克兰亲戚,她和儿子一起逃离了家园。火车因前方道路上的轰炸而延误。我们有一些朋友躲在防空洞里。我们在空袭后焦急地关注他们,空袭无差别地向医院、学校、幼儿园和房屋开火。我们不从任何媒体上得知这些信息。这是我们亲身体验到的。

您信任我们足够,以至于使用我们的程序,我们请求您再次信任我们。我们需要您的帮助。走出家门,抗议这场无意义的战争。停止杀戮。说“停止战争!”

🇺🇸 致俄罗斯公民

我们来自世界各地。我们中许多人有在俄罗斯和乌克兰的朋友、家人和同事。我们中的一些人生于俄罗斯。我们中的一些人目前居住在俄罗斯。我们中的一些人的祖父母在二战中与纳粹作战。这里没有人支持法西斯主义。

我们的一位团队成员有一位乌克兰亲戚,她和儿子一起逃离了家园。火车因前方道路上的轰炸而延误。我们有一些朋友躲在防空洞里。我们在空袭后焦急地关注他们,空袭无差别地向医院、学校、幼儿园和房屋开火。我们不从任何媒体上得知这些信息。这是我们亲身体验到的。

您信任我们足够,以至于使用我们的软件。我们要求您信任我们在这一点上说出真相。我们需要您的帮助。走出家门,抗议这场不必要的战争。停止杀戮。说“停止战争!”

此库提供配置 PSR-11 兼容的 Aura.Di 容器 的工具,使用 laminas-servicemanager 配置。

安装

运行以下命令安装此库

$ composer require laminas/laminas-auradi-config

配置

要获取配置好的 Aura.Di 容器,请执行以下操作

<?php
use Laminas\AuraDi\Config\Config;
use Laminas\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:一个将服务名称映射到委托工厂键列表的关联数组,有关更多详细信息,请参阅Mezzio 委托者文档

请注意,整个配置都可在 config 键的 $container 中找到

$config = $container->get('config');

与 Mezzio 一起使用

config/container.php 中的内容替换为以下内容

<?php

use Laminas\AuraDi\Config\Config;
use Laminas\AuraDi\Config\ContainerFactory;

$config  = require __DIR__ . '/config.php';
$factory = new ContainerFactory();

return $factory(new Config($config));