saeven / zf2-dynamic-modules

ZF2 的动态模块加载器

dev-master / 0.1.2.x-dev 2015-10-16 19:36 UTC

This package is auto-updated.

Last update: 2024-09-14 17:58:59 UTC


README

我需要一个动态将模块连接到 ZF2 的方法。这通过覆盖 ModuleManager 来创建一个可以使用闭包条件来修改应用程序配置的模块数组的系统。

配置非常简单,并在您的 application.config.php 中完成,而不是在模块配置中!

安装

composer require saeven/zf2-dynamic-modules

application.config.php

return [

    'service_manager' => [
        'factories' => [
            'ModuleManager' => 'CirclicalModuleLoader\Service\Factory\ModuleManagerFactory',
        ],
    ],

    'modules_conditional' => [
        'SomeModule' => function(){ return true; }
    ],

    'modules' => [

        // usual modules

    ],

    'module_listener_options' => [
        'config_glob_paths' => [
            'config/autoload/{,*.}{global,local}.php',
        ],
        'module_paths' => [
            './module',
            './vendor',
        ],
    ],
];

魔法发生在伴随 modules_conditional 数组的闭包中。您的闭包将根据环境条件返回 true 或 false。

待办事项 - 这是为了根据路由条件加载模块,也许还可以根据数据库数据加载。