Zend将转换器配置从module.config.php移至Module.php

时间:2018-11-29 14:19:24

标签: zend-framework zend-framework2 zend-translate

我是ZF的新手,对翻译器配置有疑问。我在module.cofig文件中有一个具有以下转换器配置的应用程序:

'translator'         => [
    'locale' => 'ru_RU',
    'translation_file_patterns' => [
        [
            'type' => 'gettext',
            'base_dir' => __DIR__ . '/../language',
            'pattern' => '%s.mo',
        ],
        [
            'type' => 'phparray',
            'base_dir' => __DIR__ . '/../language',
            'pattern' => '%s.php',
        ],
    ],
    'cache' => \Zend\Cache\StorageFactory::factory(
        [
        'adapter' => [
            'name'    => 'Filesystem',
            'options' => [
                'cache_dir' => APPLICATION_LOAD_PATH . '/data/cache',
                'ttl'       => '3600',
            ],
        ],
        'plugins' => [
            [
                'name'    => 'serializer',
                'options' => [],
            ],
            'exception_handler' => [
                'throw_exceptions' => true,
            ],
        ],
        ]
    ),
],

此配置工作正常,但是我想知道是否可以通过getTranslatorPluginConfig()在Module.php中移动此代码。我试过的是使用此方法并返回相同的配置:

public function getTranslatorPluginConfig(){
    return [
        'translator'         => [
            'locale' => 'ru_RU',
            'translation_file_patterns' => [
                [
                    'type' => 'gettext',
                    'base_dir' => __DIR__ . '/language',
                    'pattern' => '%s.mo',
                ],
                [
                    'type' => 'phparray',
                    'base_dir' => __DIR__ . '/language',
                    'pattern' => '%s.php',
                ],
            ],
            'cache' => \Zend\Cache\StorageFactory::factory(
                [
                    'adapter' => [
                        'name'    => Filesystem::class,
                        'options' => [
                            'cache_dir' => APPLICATION_LOAD_PATH . '/data/cache',
                            'ttl'       => '3600',
                        ],
                    ],
                    'plugins' => [
                        [
                            'name'    => 'serializer',
                            'options' => [],
                        ],
                        'exception_handler' => [
                            'throw_exceptions' => true,
                        ],
                    ],
                ]
            ),
        ],
    ];
}

如您所见,我没有做任何更改(base_dir路径除外)。我没有任何错误,但是翻译器根本没有工作。如果您能告诉我要通过模块文件进行此配置所需采取的步骤,以及如果完全可以做到这一点,我将不胜感激。我不希望使用简单的代码,而只是可以做什么的指导/建议,因为我在Zend文档中发现的所有内容都与在module.config中进行此配置有关。预先感谢。

0 个答案:

没有答案