php-di-definitions / definitions-gatherer
从 composer.json 中收集定义文件
1.3.1
2023-01-13 22:20 UTC
Requires
- php: ^8 || ^7.4
- php-di-definitions/dummy: ^1.0
- thecodingmachine/safe: ^2 || ^1.3
- wyrihaximus/get-in-packages-composer.jason: ^2 || ^1.0
Requires (Dev)
- wyrihaximus/test-utilities: ^5 || ^3.7.6
This package is auto-updated.
Last update: 2024-09-14 01:50:45 UTC
README
安装
要通过 Composer 安装,请使用以下命令,它将自动检测最新版本并将其与 ^
绑定。
composer require php-di-definitions/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)
版权所有 © 2023 Cees-Jan Kiewiet
特此授予任何获取此软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供的人使用软件,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论该责任基于合同、侵权或其他原因,是否与软件或软件的使用或其他交易有关。