symplify/autowire-array-parameter

此包已被废弃,不再维护。作者建议使用 symfony/dependency-injection 包。

为您的 Symfony 应用自动注入数组参数

11.1.26 2023-02-03 09:12 UTC

This package is auto-updated.

Last update: 2023-10-06 11:55:11 UTC


README

Downloads total

安装

composer require symplify/autowire-array-parameter

用法

1. 在内核中注册编译器传递

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Kernel;
use Symplify\PackageBuilder\DependencyInjection\CompilerPass\AutowireArrayParameterCompilerPass;

class AppKernel extends Kernel
{
    protected function build(ContainerBuilder $containerBuilder): void
    {
        $containerBuilder->addCompilerPass(
            new AutowireArrayParameterCompilerPass(
                [
                    // place for excluding types to resolve edge cases
                    'Sonata\CoreBundle\Model\Adapter\AdapterInterface',
                ]
            )
        );
    }
}

2. 自动注入数组参数

此功能以最简洁的方式超越了 YAML 定义、基于标签或 CompilerPass 的收集器

class Application
{
    /**
     * @var Command[]
     */
    private $commands = [];

    /**
     * @param Command[] $commands
     */
    public function __construct(array $commands)
    {
        $this->commands = $commands;
        // instance of Command collected from all services
        var_dump($commands);
    }
}

报告问题

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

贡献

此包的源代码包含在 Symplify monorepo 中。我们欢迎在 symplify/symplify 上为此包做出贡献。