Skip to content
This repository has been archived by the owner on Sep 23, 2020. It is now read-only.

deprecated-packages/auto-bind-parameter

Repository files navigation

[Deprecated] Auto Bind Parameters for Symfony Apps

*Deprecated: instead of magic parameter binding, use ParameterProvider with constants

Downloads total

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

About

[DEPRECATED] [READ-ONLY] Auto bind parameters in for your Symfony applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages