在 zf2 中创建模块的过程可以缩短吗?


Can the process of creating an module in zf2 be shortend?

我正在看一些教程,要创建 1 个模块,您必须修改一堆配置文件才能使控制器、模型和视图正常工作。我认为这不可能试图记住这一切或理解我在做什么。有没有其他方法可以为我创建这些?这样我就不必在每次创建控制器或模块等时都将其全部写出来。老实说,我不明白这如何更快。我来自代码点火者的背景,所以进行这种切换让我多次用头撞墙试图理解。

我已经使用 ZF2 几个月了,我发现编写一个类来为您生成该配置很有帮助。

没有工具可以为您做到这一点。但是,如果您遵循以下方法,您应该很快正确:

class Configurator {
    public static function route($name, $url, $controller, $action='index') {
        return array(
            'router' => array(
                ...
            ),
        );
    }
    # Other static configuring methods
    ...
}

然后在您的配置中,您可以像这样使用配置器:

use Configurator;
return array_merge_recursive(
    array(
        'view_manager' => array(
            ...
        ),
    ),
    # Other top-level config
    ...
    Configurator::route('home', '/', 'Application'Controller'Index'),
    Configurator::route('other', '/other', 'Application'Controller'Other')
);

您的配置通过array_merge_recursive深度合并,使用您自己的定制生成器生成您想要的配置。您可以自由地使用一种方法配置整套配置,因此您可以创建一个资源配置器,该配置器在一种方法中设置控制器可调用对象、路由和任何其他所需的内容。

array_merge_recursive FTW!

享受! :)