Phalcon Multi模块 - 动态模块注册

时间:2014-07-30 09:40:13

标签: php frameworks phalcon phalcon-routing

大家好我在Phalcon中使用以下结构进行多模块项目

[modules]

   [module1]
        [controllers]
        [models]            
        [views]
   [module2]
        [controllers]
        [models]            
        [views]
   [module-n]
        [controllers]
        [models]            
        [views]

我在bootstrap index.php文件中只注册了模块1和模块2。像这样:

$this->registerModules(array

       (
        'Module1' => array(
            'className' => 'Modules\Module1\Module',
            'path' => '../modules/module1/Module.php'
        ),

        'Module2' => array(
            'className' => 'Modules\Module2\Module',
            'path' => '../modules/module2/Module.php'
        )
    ));

现在,我的默认模块是模块1。我如何使用模块n的控制器(此模块尚未注册)。是否有注册模块的动态方式?

1 个答案:

答案 0 :(得分:1)

基本上你应该避免在另一个模块中使用一个模块控制器。这不是应用程序行为的正确方法;)这更多是关于一般良好的编程和设计模式,而不是phalcon本身。例如,您可以使用http://en.wikipedia.org/wiki/Service-oriented_architecture

有可能动态注册服务并在模块之间共享它们,如果您正在寻找Phalcon中的实现,您可以查看Vegas CMF:http://vegas-cmf.github.io/1.0/guide/di/service-manager.html