Example #1
0
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 testDefinitionBuilderMethodCalls()
 {
     $def = new JuiceDefinition('SumTestService');
     $def->call('add');
     $def->call('add', array(2));
     $container = new JuiceContainer();
     $service = $container->build($def);
     $this->assertEquals(3, $service->result);
 }