symplify/autowire-array-parameter

This package is abandoned and no longer maintained. The author suggests using the symfony/dependency-injection package instead.

Autowire array parameters for your Symfony applications

Maintainers

👁 TomasVotruba

Package info

github.com/deprecated-packages/autowire-array-parameter

pkg:composer/symplify/autowire-array-parameter

Statistics

Installs: 11 787 643

Dependents: 12

Suggesters: 0

Stars: 62

11.1.26 2023-02-03 09:12 UTC

MIT ca9094e65223fbff7bb18d162df19312f9802a81

This package is auto-updated.

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


README

👁 Downloads total

Install

composer require symplify/autowire-array-parameter

Usage

1. Register Compiler Pass in kernel

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. Autowire Array Parameters

This feature surpasses YAML-defined, tag-based or CompilerPass-based collectors in minimalistic way:

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);
 }
}

Report Issues

In case you are experiencing a bug or want to request a new feature head over to the Symplify monorepo issue tracker

Contribute

The sources of this package are contained in the Symplify monorepo. We welcome contributions for this package on symplify/symplify.