lib/Jejik/MT940/Reader.php
protected function createObject($className, $interface, $params = array())
    {
        if (is_string($className) && class_exists($className)) {
            $object = new $className();
        } elseif (is_callable($className)) {
            $object = call_user_func_array($className, $params);
        } else {
            throw new \InvalidArgumentException('$className must be a valid classname or a PHP callable');
        }

        if (null !== $object && !($object instanceof $interface)) {
            throw new \InvalidArgumentException(sprintf('%s must implement %s', get_class($object), $interface));
        }

        return $object;
    }
protected function createObject($className, $interface, $params = array())
    {
        if (is_string($className) && class_exists($className)) {
            $object = new $className();
        } elseif (is_callable($className)) {
            $object = call_user_func_array($className, $params);
        } else {
            throw new \InvalidArgumentException('$className must be a valid classname or a PHP callable');
        }

        if (null !== $object && !($object instanceof $interface)) {
            throw new \InvalidArgumentException(sprintf('%s must implement %s', get_class($object), $interface));
        }

        return $object;
    }
protected function createObject ( $ className , $ interface , $ params = array ( ) ) { if ( is_string ( $ className ) && class_exists ( $ className ) ) { $ object = new $ className ( ) ; } elseif ( is_callable ( $ className ) ) { $ object = call_user_func_array ( $ className , $ params ) ; } else { throw new \ InvalidArgumentException ( '$className must be a valid classname or a PHP callable' ) ; } if ( null !== $ object && ! ( $ object instanceof $ interface ) ) { throw new \ InvalidArgumentException ( sprintf ( '%s must implement %s' , get_class ( $ object ) , $ interface ) ) ; } return $ object ; }
Create an object of a specified interface

@param string|callable $className Classname or a callable that returns an object instance
@param string $interface The interface the class must implement
@param array $params Parameters to pass to the callable

@return object An object that implements the interface
Create an object of a specified interface