예제 #1
0
function uselib(string $class, array $parameters = [])
{
    if (!class_exists($class)) {
        $classInfo = ZN\Autoloader\Autoloader::getClassFileInfo($class);
        $class = $classInfo['namespace'];
        if (!class_exists($class)) {
            die(getErrorMessage('Error', 'classError', $class));
        }
    }
    if (!isset(zn::$use->{$class})) {
        if (!is_object(zn::$use)) {
            zn::$use = new stdClass();
        }
        zn::$use->{$class} = new $class(...$parameters);
    }
    return zn::$use->{$class};
}
예제 #2
0
function uselib($class = '')
{
    if (!class_exists($class)) {
        $classInfo = Autoloader::getClassFileInfo($class);
        $class = $classInfo['namespace'];
        if (!class_exists($class)) {
            die(getErrorMessage('Error', 'classError', $class));
        }
    }
    if (!isset(zn::$use->{$class})) {
        if (!is_object(zn::$use)) {
            zn::$use = new stdClass();
        }
        zn::$use->{$class} = new $class();
        return zn::$use->{$class};
    } else {
        return zn::$use->{$class};
    }
}
예제 #3
0
function uselib($class = '', $parameters = array())
{
    if (!class_exists($class)) {
        $classInfo = Autoloader::getClassFileInfo($class);
        $class = $classInfo['namespace'];
        if (!class_exists($class)) {
            die(getErrorMessage('Error', 'classError', $class));
        }
    }
    if (!isset(zn::$use->{$class})) {
        if (!is_object(zn::$use)) {
            zn::$use = new stdClass();
        }
        switch (count($parameters)) {
            // Parametre yoksa
            case 0:
                zn::$use->{$class} = new $class();
                break;
                // 1 parametre için
            // 1 parametre için
            case 1:
                zn::$use->{$class} = new $class($parameters[0]);
                break;
                // 2 parametre için
            // 2 parametre için
            case 2:
                zn::$use->{$class} = new $class($parameters[0], $parameters[1]);
                break;
                // 3 parametre için
            // 3 parametre için
            case 3:
                zn::$use->{$class} = new $class($parameters[0], $parameters[1], $parameters[2]);
                break;
                // 4 parametre için
            // 4 parametre için
            case 4:
                zn::$use->{$class} = new $class($parameters[0], $parameters[1], $parameters[2], $parameters[3]);
                break;
                // 5 parametre için
            // 5 parametre için
            case 5:
                zn::$use->{$class} = new $class($parameters[0], $parameters[1], $parameters[2], $parameters[3], $parameters[4]);
                break;
                // Daha fazla parametre için
                // next 5.6.0
                // default: zn::$use->$class = new $class(...$parameters);
        }
    }
    return zn::$use->{$class};
}