ublaboo / directory-register
Nette 框架的扩展:注册配置目录中的所有类(支持黑名单)
v1.0.2
2016-10-10 07:20 UTC
Requires
- nette/di: ^2.3
- nette/robot-loader: ^v2.3
This package is auto-updated.
Last update: 2024-09-21 00:09:15 UTC
README
DirectoryRegister
在 config.neon 中注册扩展
extensions: autoRegister: Ublaboo\DirectoryRegister\DI\AutoRegisterExtension
使用此扩展,指定目录中的所有类将自动注册到 DIC 中。例如:
autoRegister: dirs: [ App\Forms: %appDir%/Forms, App\ORM\Repository: %appDir%/ORM/Repository ] interfaces: [ IFormFactory: %appDir%/Forms, ] skip: [App\Forms\ContactFormFactory]
始终必须为特定目录中的类指定命名空间。以下目录结构作为例子:
app/
Forms/
ContactFormFactory.php
ProductFormFactory.php
SignInFormFactory.php
FooFormFactory.php
BarFormFactory.php
BazFormFactory.php
看到吧,现在上述配置与在 config.neon 中写入所有这些行是一样的
services: - App\Forms\ProductFormFactory - App\Forms\SignInFormFactory - App\Forms\FooFormFactory - App\Forms\BarFormFactory - App\Forms\BazFormFactory
PSR
此扩展简单快捷,但仅适用于坚持 PSR-0 或 PSR-4 的项目。因此,您必须确保所有自动注册的类的名称与文件名相同,且文件中不能包含其他类。