PhpSpec\ServiceContainer\IndexedServiceContainer::setParam PHP Method

setParam() public method

Sets a param in the container
public setParam ( string $id, mixed $value )
$id string
$value mixed
    public function setParam($id, $value)
    {
        $this->parameters[$id] = $value;
    }

Usage Example

Exemplo n.º 1
0
 /**
  * @param IndexedServiceContainer $container
  */
 private function setupGenerators(IndexedServiceContainer $container)
 {
     $container->define('code_generator', function (IndexedServiceContainer $c) {
         $generator = new CodeGenerator\GeneratorManager();
         array_map(array($generator, 'registerGenerator'), $c->getByTag('code_generator.generators'));
         return $generator;
     });
     $container->define('code_generator.generators.specification', function (IndexedServiceContainer $c) {
         $specificationGenerator = new CodeGenerator\Generator\SpecificationGenerator($c->get('console.io'), $c->get('code_generator.templates'), $c->get('util.filesystem'), $c->get('process.executioncontext'));
         return new CodeGenerator\Generator\NewFileNotifyingGenerator($specificationGenerator, $c->get('event_dispatcher'), $c->get('util.filesystem'));
     }, ['code_generator.generators']);
     $container->define('code_generator.generators.class', function (IndexedServiceContainer $c) {
         $classGenerator = new CodeGenerator\Generator\ClassGenerator($c->get('console.io'), $c->get('code_generator.templates'), $c->get('util.filesystem'), $c->get('process.executioncontext'));
         return new CodeGenerator\Generator\NewFileNotifyingGenerator($classGenerator, $c->get('event_dispatcher'), $c->get('util.filesystem'));
     }, ['code_generator.generators']);
     $container->define('code_generator.generators.interface', function (IndexedServiceContainer $c) {
         $interfaceGenerator = new CodeGenerator\Generator\InterfaceGenerator($c->get('console.io'), $c->get('code_generator.templates'), $c->get('util.filesystem'), $c->get('process.executioncontext'));
         return new CodeGenerator\Generator\NewFileNotifyingGenerator($interfaceGenerator, $c->get('event_dispatcher'), $c->get('util.filesystem'));
     }, ['code_generator.generators']);
     $container->define('code_generator.writers.tokenized', function () {
         return new CodeGenerator\Writer\TokenizedCodeWriter(new ClassFileAnalyser());
     });
     $container->define('code_generator.generators.method', function (IndexedServiceContainer $c) {
         return new CodeGenerator\Generator\MethodGenerator($c->get('console.io'), $c->get('code_generator.templates'), $c->get('util.filesystem'), $c->get('code_generator.writers.tokenized'));
     }, ['code_generator.generators']);
     $container->define('code_generator.generators.methodSignature', function (IndexedServiceContainer $c) {
         return new CodeGenerator\Generator\MethodSignatureGenerator($c->get('console.io'), $c->get('code_generator.templates'), $c->get('util.filesystem'));
     }, ['code_generator.generators']);
     $container->define('code_generator.generators.returnConstant', function (IndexedServiceContainer $c) {
         return new CodeGenerator\Generator\ReturnConstantGenerator($c->get('console.io'), $c->get('code_generator.templates'), $c->get('util.filesystem'));
     }, ['code_generator.generators']);
     $container->define('code_generator.generators.named_constructor', function (IndexedServiceContainer $c) {
         return new CodeGenerator\Generator\NamedConstructorGenerator($c->get('console.io'), $c->get('code_generator.templates'), $c->get('util.filesystem'), $c->get('code_generator.writers.tokenized'));
     }, ['code_generator.generators']);
     $container->define('code_generator.generators.private_constructor', function (IndexedServiceContainer $c) {
         return new CodeGenerator\Generator\PrivateConstructorGenerator($c->get('console.io'), $c->get('code_generator.templates'), $c->get('util.filesystem'), $c->get('code_generator.writers.tokenized'));
     }, ['code_generator.generators']);
     $container->define('code_generator.templates', function (IndexedServiceContainer $c) {
         $renderer = new CodeGenerator\TemplateRenderer($c->get('util.filesystem'));
         $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'));
 }