From d399960ab4a115068823fb4193b2d1431904f766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Matou=C5=A1ek?= Date: Wed, 6 Nov 2019 15:01:05 +0100 Subject: [PATCH] added ignoreDirectories option to the configuration --- README.md | 11 +++++++++++ src/AutoDI/DI/AutoDIExtension.php | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/README.md b/README.md index 4706dc4..0869ad7 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,17 @@ autoDI: - %appDir%/../vendor ``` +You can ignore directories, like this: +```yaml +autoDI: + directories: + - %appDir% + - %appDir%/../vendor + ignoreDirectories: + - exludedDir + - anotherExludedDir +``` + ## Register services on configuration Compiler extensions such as AutoDIExtension manipulates the DI container diff --git a/src/AutoDI/DI/AutoDIExtension.php b/src/AutoDI/DI/AutoDIExtension.php index f481941..2d114ab 100644 --- a/src/AutoDI/DI/AutoDIExtension.php +++ b/src/AutoDI/DI/AutoDIExtension.php @@ -20,6 +20,7 @@ class AutoDIExtension extends CompilerExtension 'directories' => [ '%appDir%', ], + 'ignoreDirectories' => [], 'defaults' => [], 'tempDir' => '%tempDir%', ]; @@ -55,6 +56,10 @@ private function registerServices(): void $robotLoader->addDirectory($directory); } + foreach ($config['ignoreDirectories'] as $ignoredDirectory) { + $robotLoader->ignoreDirs = $robotLoader->ignoreDirs . ',' . $ignoredDirectory; + } + $robotLoader->setTempDirectory($config['tempDir']); $robotLoader->rebuild();