Overview

Namespaces

  • NetBazzlineZfCliGenerator
    • Controller
      • Console
    • Service
      • ProcessPipe
        • Filter
        • Transformer

Classes

  • NetBazzlineZfCliGenerator\Controller\Console\IndexController
  • NetBazzlineZfCliGenerator\Controller\Console\IndexControllerFactory
  • NetBazzlineZfCliGenerator\Service\GenerateCliContentFactory
  • NetBazzlineZfCliGenerator\Service\GenerateConfigurationContentFactory
  • NetBazzlineZfCliGenerator\Service\ProcessPipe\Filter\RemoveColorsAndModuleHeadlines
  • NetBazzlineZfCliGenerator\Service\ProcessPipe\Filter\RemoveFirstLinesAndLastLine
  • NetBazzlineZfCliGenerator\Service\ProcessPipe\Filter\RemoveIndexDotPhpFromLines
  • NetBazzlineZfCliGenerator\Service\ProcessPipe\Transformer\DumpCliContent
  • NetBazzlineZfCliGenerator\Service\ProcessPipe\Transformer\DumpConfigurationContent
  • NetBazzlineZfCliGenerator\Service\ProcessPipe\Transformer\FetchApplicationOutput
  • NetBazzlineZfCliGenerator\Service\ProcessPipe\Transformer\ParseToConfiguration
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 
<?php
/**
 * @author stev leibelt <artodeto@bazzline.net>
 * @since 2015-07-08
 */

namespace NetBazzlineZfCliGenerator\Controller\Console;

use Net\Bazzline\Component\ProcessPipe\PipeInterface;
use Zend\ServiceManager\Exception\InvalidArgumentException;
use Zend\ServiceManager\ServiceLocatorInterface;
use ZfConsoleHelper\Controller\Console\AbstractConsoleControllerFactory;

class IndexControllerFactory extends AbstractConsoleControllerFactory
{
    /**
     * 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->injectGenerateConfigurationProcessPipe($configurationGenerator);
        $controller->injectGenerateCliProcessPipe($cliGenerator);
        $controller->injectPathToApplication($pathToApplication);
        $controller->injectPathToAutoload($pathToAutoload);
        $controller->injectPathToConfiguration($pathToConfiguration);
        $controller->injectPathToCli($pathToCli);
        $controller->injectPrefix($prefix);

        return $controller;
    }
}
PHP Command Line Generator Module for Zend Framework 2 by bazzline.net API documentation generated by ApiGen