symplify / auto-bind-parameter
This package is abandoned and no longer maintained.
The author suggests using the symplify/package-builder package instead.
Auto bind parameters for your Symfony applications
Package info
github.com/deprecated-packages/auto-bind-parameter
pkg:composer/symplify/auto-bind-parameter
8.3.16
2020-09-21 16:16 UTC
Requires
- php: >=7.2
- nette/utils: ^3.0
- symfony/dependency-injection: ^4.4|^5.1
- symfony/http-kernel: ^4.4|^5.1
Requires (Dev)
- phpunit/phpunit: ^8.5|^9.0
- symplify/package-builder: ^8.3.16
This package is auto-updated.
Last update: 2020-09-29 15:16:56 UTC
README
*Deprecated: instead of magic parameter binding, use ParameterProvider with constants
Install
composer require symplify/auto-bind-parameter
Usage
1. Register Compiler Pass in kernel
<?php declare(strict_types=1); namespace App; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\HttpKernel\Kernel; use Symplify\AutoBindParameter\DependencyInjection\CompilerPass\AutoBindParameterCompilerPass; class AppKernel extends Kernel { protected function build(ContainerBuilder $containerBuilder): void { $containerBuilder->addCompilerPass(new AutoBindParameterCompilerPass()); } }
2. Auto Bind Parameters
Keep your configs simple enough:
parameters:
entity_repository_class: 'Doctrine\ORM\EntityRepository'
entity_manager_class: 'Doctrine\ORM\EntityManager'
services:
- _defaults:
- bind:
- $entityRepositoryClass: '%entity_repository_class%'
- $entityManagerClass: '%entity_manager_class%'
-
Rector\:
resource: ..
And as any other bind:
<?php declare(strict_types=1); class SomeClass { /** * @var string */ private $entityRepositoryClass; public function __construct(string $entityRepositoryClass) { $this->entityRepositoryClass = $entityRepositoryClass; } }