2016-06-03 4 views
0

Я пытаюсь создать службу, которая помогает пользователю динамически загружать модули с панели управления системой. Это мой код:Практика ZF2 для загрузки модулей динамически

if(!$this->isModuleInstalled($moduleName)) { 
     $appConfigService = $this->getServiceManager()->get('ApplicationConfig'); 
     $appConfig = new Config($appConfigService, true); 

     $modules = $config->modules->toArray(); 
     end($modules); 
     $nextModuleKey = (key($modules) + 1); 
     unset($modules); 

     $config->modules->{$nextModuleKey} = $moduleName; 

     $writter = new Writer\PhpArray(); 
     $writter->toFile(
      __DIR__ . '/../../../../../config/application.config.php', 
      $config->toArray() 
    ); 
} 

Я думаю, что это не лучшая практика для загрузки модулей динамически.

ответ

0

Попробуйте

$configuration = $serviceManager->get('ApplicationConfig'); 
$configuration['modules'][] = 'ModuleName'; 
$serviceManager->setService('ApplicationConfig', $configuration); 
$serviceManager->get('ModuleManager')->loadModules();