symplify/set-config-resolver

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

为 CLI 应用程序解决配置和配置集合

v9.3.12 2021-05-17 20:55 UTC

This package is auto-updated.

Last update: 2021-05-17 20:58:05 UTC


README

Downloads total

安装

composer require symplify/set-config-resolver

为 CLI 应用程序加载配置?

在 CLI 入口文件 bin/<app-name> 中使用,例如 bin/ecsbin/rector

use Symfony\Component\Console\Input\ArgvInput;
use Symplify\EasyCodingStandard\Set\EasyCodingStandardSetProvider;
use Symplify\SetConfigResolver\SetAwareConfigResolver;

$configs = [];

// 1. --config CLI option or local fallback
$configResolver = new SetAwareConfigResolver(new EasyCodingStandardSetProvider(...));
$inputConfig = $configResolver->resolveFromInputWithFallback(new ArgvInput(), ['ecs.php']);

if ($inputConfig !== null) {
    $configs[] = $inputConfig;
}

// 2. "parameters > set" in provided PHP configs
$parameterSetsConfigs = $configResolver->resolveFromParameterSetsFromConfigFiles($configs);
if ($parameterSetsConfigs !== []) {
    $configs = array_merge($configs, $parameterSetsConfigs);
}

// Build DI container
$appKernel = new AppKernel('prod', true);
if ($configs !== []) {
    $appKernel->setConfigs($configs);
}

$appKernel->boot();

$container = $appKernel->getContainer();

然后这样使用

vendor/bin/your-app --config config/set/the-config.yaml

...或...

vendor/bin/your-app --set the-config

...或使用此配置

parameters:
    sets:
        - "the-config"

它们都是一样的 :)


报告问题

如果您遇到错误或想要请求新功能,请访问 Symplify monorepo 问题跟踪器

贡献

此包的源代码包含在 Symplify monorepo 中。我们欢迎在 symplify/symplify 上对此包进行贡献。