setParam() public method

Sets a param in the container
public setParam ( string $id, mixed $value )
$id string
$value mixed
コード例 #1
0
 /**
  * @param ServiceContainer $container
  */
 public function load(ServiceContainer $container)
 {
     $container->setShared('code_generator.generators.specification', function (ServiceContainer $c) {
         return new ClassNotationSpecificationGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->setParam('code_generator.templates.paths', array(rtrim(__DIR__, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . '.phpspec'));
 }
 function it_should_use_singular_output()
 {
     $container = new ServiceContainer();
     $container->setParam('code_coverage', array('output' => 'test', 'format' => 'foo'));
     $this->load($container);
     $options = $container->get('code_coverage.options');
     expect($options['output'])->toBe(array('foo' => 'test'));
 }
コード例 #3
0
 /**
  * @param ServiceContainer $container
  */
 private function setupGenerators(ServiceContainer $container)
 {
     $container->setShared('code_generator', function (ServiceContainer $c) {
         $generator = new CodeGenerator\GeneratorManager();
         array_map(array($generator, 'registerGenerator'), $c->getByPrefix('code_generator.generators'));
         return $generator;
     });
     $container->set('code_generator.generators.specification', function (ServiceContainer $c) {
         $specificationGenerator = new CodeGenerator\Generator\SpecificationGenerator($c->get('console.io'), $c->get('code_generator.templates'));
         return new CodeGenerator\Generator\NewFileNotifyingGenerator($specificationGenerator, $c->get('event_dispatcher'));
     });
     $container->set('code_generator.generators.class', function (ServiceContainer $c) {
         $classGenerator = new CodeGenerator\Generator\ClassGenerator($c->get('console.io'), $c->get('code_generator.templates'), null, $c->get('process.executioncontext'));
         return new CodeGenerator\Generator\NewFileNotifyingGenerator($classGenerator, $c->get('event_dispatcher'));
     });
     $container->set('code_generator.generators.interface', function (ServiceContainer $c) {
         $interfaceGenerator = new CodeGenerator\Generator\InterfaceGenerator($c->get('console.io'), $c->get('code_generator.templates'), null, $c->get('process.executioncontext'));
         return new CodeGenerator\Generator\NewFileNotifyingGenerator($interfaceGenerator, $c->get('event_dispatcher'));
     });
     $container->set('code_generator.generators.method', function (ServiceContainer $c) {
         return new CodeGenerator\Generator\MethodGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->set('code_generator.generators.methodSignature', function (ServiceContainer $c) {
         return new CodeGenerator\Generator\MethodSignatureGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->set('code_generator.generators.returnConstant', function (ServiceContainer $c) {
         return new CodeGenerator\Generator\ReturnConstantGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->set('code_generator.generators.named_constructor', function (ServiceContainer $c) {
         return new CodeGenerator\Generator\NamedConstructorGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->set('code_generator.generators.private_constructor', function (ServiceContainer $c) {
         return new CodeGenerator\Generator\PrivateConstructorGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->setShared('code_generator.templates', function (ServiceContainer $c) {
         $renderer = new CodeGenerator\TemplateRenderer();
         $renderer->setLocations($c->getParam('code_generator.templates.paths', array()));
         return $renderer;
     });
     if (!empty($_SERVER['HOMEDRIVE']) && !empty($_SERVER['HOMEPATH'])) {
         $home = $_SERVER['HOMEDRIVE'] . $_SERVER['HOMEPATH'];
     } else {
         $home = getenv('HOME');
     }
     $container->setParam('code_generator.templates.paths', array(rtrim(getcwd(), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . '.phpspec', rtrim($home, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . '.phpspec'));
 }
コード例 #4
0
 /**
  * @param ServiceContainer $container
  */
 protected function setupGenerators(ServiceContainer $container)
 {
     $container->setShared('code_generator', function ($c) {
         $generator = new CodeGenerator\GeneratorManager();
         array_map(array($generator, 'registerGenerator'), $c->getByPrefix('code_generator.generators'));
         return $generator;
     });
     $container->set('code_generator.generators.specification', function ($c) {
         return new CodeGenerator\Generator\SpecificationGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->set('code_generator.generators.class', function ($c) {
         return new CodeGenerator\Generator\ClassGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->set('code_generator.generators.method', function ($c) {
         return new CodeGenerator\Generator\MethodGenerator($c->get('console.io'), $c->get('code_generator.templates'));
     });
     $container->setShared('code_generator.templates', function ($c) {
         $renderer = new CodeGenerator\TemplateRenderer();
         $renderer->setLocations($c->getParam('code_generator.templates.paths', array()));
         return $renderer;
     });
     if (!empty($_SERVER['HOMEDRIVE']) && !empty($_SERVER['HOMEPATH'])) {
         $home = $_SERVER['HOMEDRIVE'] . $_SERVER['HOMEPATH'];
     } else {
         $home = $_SERVER['HOME'];
     }
     $container->setParam('code_generator.templates.paths', array(rtrim(getcwd(), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . '.phpspec', rtrim($home, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . '.phpspec'));
 }
コード例 #5
0
 /**
  * {@inheritDoc}
  */
 public function load(ServiceContainer $container)
 {
     $container->setShared('code_coverage.filter', function () {
         return new \PHP_CodeCoverage_Filter();
     });
     $container->setShared('code_coverage', function ($container) {
         return new \PHP_CodeCoverage(null, $container->get('code_coverage.filter'));
     });
     $container->setShared('code_coverage.options', function ($container) {
         $options = $container->getParam('code_coverage');
         if (!isset($options['format'])) {
             $options['format'] = array('html');
         } elseif (!is_array($options['format'])) {
             $options['format'] = (array) $options['format'];
         }
         if (isset($options['output'])) {
             if (!is_array($options['output']) && count($options['format']) == 1) {
                 $format = $options['format'][0];
                 $options['output'] = array($format => $options['output']);
             }
         }
         if (!isset($options['show_uncovered_files'])) {
             $options['show_uncovered_files'] = true;
         }
         if (!isset($options['lower_upper_bound'])) {
             $options['lower_upper_bound'] = 35;
         }
         if (!isset($options['high_lower_bound'])) {
             $options['high_lower_bound'] = 70;
         }
         return $options;
     });
     $container->setShared('code_coverage.reports', function ($container) {
         $options = $container->get('code_coverage.options');
         $reports = array();
         foreach ($options['format'] as $format) {
             switch ($format) {
                 case 'clover':
                     $reports['clover'] = new \PHP_CodeCoverage_Report_Clover();
                     break;
                 case 'php':
                     $reports['php'] = new \PHP_CodeCoverage_Report_PHP();
                     break;
                 case 'text':
                     $reports['text'] = new \PHP_CodeCoverage_Report_Text($options['lower_upper_bound'], $options['high_lower_bound'], $options['show_uncovered_files'], false);
                     break;
                 case 'xml':
                     $reports['xml'] = new \PHP_CodeCoverage_Report_XML();
                     break;
                 case 'crap4j':
                     $reports['crap4j'] = new \PHP_CodeCoverage_Report_Crap4j();
                     break;
                 case 'html':
                     $reports['html'] = new \PHP_CodeCoverage_Report_HTML();
                     break;
             }
         }
         $container->setParam('code_coverage', $options);
         return $reports;
     });
     $container->setShared('event_dispatcher.listeners.code_coverage', function ($container) {
         $listener = new CodeCoverageListener($container->get('code_coverage'), $container->get('code_coverage.reports'));
         $listener->setIO($container->get('console.io'));
         $listener->setOptions($container->getParam('code_coverage', array()));
         return $listener;
     });
 }