spartaksun / definitions-gatherer

从 composer.json 中收集定义文件

v1.2.1 2021-01-28 17:03 UTC

This package is auto-updated.

Last update: 2024-08-29 01:43:29 UTC


README

Build Status Latest Stable Version Total Downloads Code Coverage License PHP 7 ready

安装

要通过 Composer 安装,请使用以下命令,它将自动检测最新版本并将其与 ^ 绑定。

composer require spartaksun/definitions-gatherer

composer.json 中列出的文件中收集定义。

用法

假设我们有一个项目需要 react/event-loop,因此我们创建一个包含定义文件(etc/di/event-loop.php)的包,内容如下

<?php

use React\EventLoop\Factory;
use React\EventLoop\LoopInterface;

return [
    LoopInterface::class => function () {
        return Factory::create();
    },
];

然后在 composer.json 中使用以下配置进行引用

{
    "extra": {
        "php-di-definitions": {
            "di": [
                "etc/di/event-loop.php"
            ]
        }
    }
}

然后使用此包,您可以获取该定义(以及其他定义)并将其传递给 PHP-DI(或支持相同格式的其他 DI)

use DI\ContainerBuilder;
use PHPDIDefinitions\DefinitionsGatherer;

$definitions = iterator_to_array(DefinitionsGatherer::gather());
$containerBuilder = new ContainerBuilder();
$containerBuilder->addDefinitions($definitions);
$container = $containerBuilder->build();

许可证

MIT 许可证 (MIT)

版权所有 (c) 2018 Cees-Jan Kiewiet

特此授予任何人免费获取此软件及其相关文档副本(“软件”)的权利,不受任何限制地使用该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的个人提供这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类索赔、损害或其他责任是根据合同、侵权或其他方式产生的,与软件或其使用或其他交易有关。