ublaboo/directory-register

Nette 框架的扩展:注册配置目录中的所有类(支持黑名单)

v1.0.2 2016-10-10 07:20 UTC

This package is auto-updated.

Last update: 2024-09-21 00:09:15 UTC


README

Latest Stable Version License Total Downloads Gitter

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 的项目。因此,您必须确保所有自动注册的类的名称与文件名相同,且文件中不能包含其他类。