Register extension in config.neon:
extensions: autoRegister: Ublaboo\DirectoryRegister\DI\AutoRegisterExtension
With this extension, all classes within specified directories will be automatically registered in DIC. E.g.:
autoRegister: dirs: [ App\Forms: %appDir%/Forms, App\ORM\Repository: %appDir%/ORM/Repository ] interfaces: [ IFormFactory: %appDir%/Forms, ] skip: [App\Forms\ContactFormFactory]
Always you have to specify namespace for classes in partucular directory. Let's take following directorystructure as an example:
app/ Forms/ ContactFormFactory.php ProductFormFactory.php SignInFormFactory.php FooFormFactory.php BarFormFactory.php BazFormFactory.php
See, now above configuration will be the same as writing all these lines in
services: - App\Forms\ProductFormFactory - App\Forms\SignInFormFactory - App\Forms\FooFormFactory - App\Forms\BarFormFactory - App\Forms\BazFormFactory
This extension is simple and fast, but only works with projects that stick to PSR-0 or PSR-4. So you have to have all automatically registered classes named same as the file is and neither of your files can contain other classes.
No release at this moment. Try to create first one.