function adventure_tours_init_di_callback($di, $config) { if ($config) { foreach ($config as $key => $value) { $instance = null; $class = ''; $typeof = gettype($value); switch ($typeof) { case 'string': $class = $value; break; case 'array': $class = array_shift($value); break; default: $instance = $value; $class = get_class($instance); break; } $diKey = is_string($key) ? $key : $class; if (isset($di[$diKey])) { continue; } $di[$diKey] = $instance ? $instance : JuiceDefinition::create($class, $value); } } }
public function testDefinitionFactory() { $def = JuiceDefinition::create('Test', array(1))->call('set', array(1)); $this->assertEquals('Test', $def->class); }