コード例 #1
0
 /**
  * Create service
  *
  * @param ServiceLocatorInterface $serviceLocator
  *
  * @return mixed|IndexController
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $controller = new IndexController();
     $serviceLocator = $this->transformIntoServiceManager($serviceLocator);
     /** @var array|\Zend\Config\Config $configuration */
     $configuration = $serviceLocator->get('Config');
     $key = 'net_bazzline_zf_cli_generator';
     if (!isset($configuration[$key])) {
         throw new InvalidArgumentException('expected configuration key "' . $key . '" not found');
     }
     /** @var PipeInterface $cliGenerator */
     $cliGenerator = $serviceLocator->get('NetBazzlineCliGeneratorGenerateCliContent');
     /** @var PipeInterface $configurationGenerator */
     $configurationGenerator = $serviceLocator->get('NetBazzlineCliGeneratorGenerateConfigurationContent');
     $configuration = $configuration[$key];
     $pathToApplication = $configuration['application']['path'] . DIRECTORY_SEPARATOR . $configuration['application']['name'];
     $pathToAutoload = $configuration['autoload']['path'] . DIRECTORY_SEPARATOR . $configuration['autoload']['name'];
     $pathToConfiguration = $configuration['configuration']['target']['path'] . DIRECTORY_SEPARATOR . $configuration['configuration']['target']['name'];
     $pathToCli = $configuration['cli']['target']['path'] . DIRECTORY_SEPARATOR . $configuration['cli']['target']['name'];
     $prefix = $configuration['cli']['prefix'];
     $controller->setGenerateConfigurationProcessPipe($configurationGenerator);
     $controller->setGenerateCliProcessPipe($cliGenerator);
     $controller->setPathToApplication($pathToApplication);
     $controller->setPathToAutoload($pathToAutoload);
     $controller->setPathToConfiguration($pathToConfiguration);
     $controller->setPathToCli($pathToCli);
     $controller->setPrefix($prefix);
     return $controller;
 }