使用composer和config-provider设置包括来自供应商模块的部分配置

时间:2019-01-23 09:42:56

标签: php zend-framework composer-php zend-framework3

我正在为ZF3构建软件包。该软件包应更改将在其中使用的应用程序的配置-特别是应在控制器内添加另一个抽象工厂。 不幸的是,我找不到使系统加载打包配置的方法。

根据我在网上发现的文档和一些示例,我试图创建ConfigProvider类并在composer.json部分的extras-> zf-> config-provider

中设置此类。

这是我添加到composer.json中的代码

"extra" : {
    "zf" : {
        "config-provider" : "Voyteck\\VExtControllers\\ConfigProvider"
    }
}

这是ConfigProvider的代码(将文件放入路径内的文件:VExtControllers / src / VExtControllers / ConfigProvider.php):

namespace Voyteck\VExtControllers;

class ConfigProvider
{
    public function __invoke() {
        return [
            'controllers' => [
                'abstract_factories' => [
                    \Voyteck\VExtControllers\Factory\LazyControllerFactory::class
                ]
            ]
        ];
    }
}

我期望每次加载配置时都会加载(调用)该类-不幸的是,它不会加载。

我认为,这样做的关键是在真正解释composer.json(特别是提到的部分)以及每次应用程序启动时是否在解释该问题时,回答该问题。我怀疑这种方式是否有效-因为即使我在Zend / Form中修改了composer.json,该系统的配置值ConfigProvider仍然存在...

我们将非常感谢您提供有关如何处理此问题的帮助:)

0 个答案:

没有答案