flight\core\Loader::newInstance PHP Method

newInstance() public method

Gets a new instance of a class.
public newInstance ( string | callable $class, array $params = [] ) : object
$class string | callable Class name or callback function to instantiate class
$params array Class initialization parameters
return object Class instance
    public function newInstance($class, array $params = array())
    {
        if (is_callable($class)) {
            return call_user_func_array($class, $params);
        }
        switch (count($params)) {
            case 0:
                return new $class();
            case 1:
                return new $class($params[0]);
            case 2:
                return new $class($params[0], $params[1]);
            case 3:
                return new $class($params[0], $params[1], $params[2]);
            case 4:
                return new $class($params[0], $params[1], $params[2], $params[3]);
            case 5:
                return new $class($params[0], $params[1], $params[2], $params[3], $params[4]);
            default:
                $refClass = new \ReflectionClass($class);
                return $refClass->newInstanceArgs($params);
        }
    }