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