创建新的类实例-单例和工厂模式


PHP Create new class instance - singleton and factory pattern

我有以下PHP类:

class Init {
private static $instance = NULL;
public function __construct(){
}
public static function __callStatic($name, $arguments){
    if (is_null(self::$instance)) {
        $class = '''' . __NAMESPACE__ . ''Drivers''' . $name;
        $reflection = new 'ReflectionClass($class);
        self::$instance = $reflection->newInstanceArgs($arguments);
        return self::$instance;
    } else {
        return self::$instance;
    }
}

}

在不使用反射的情况下,是否有其他方法调用实例化的类,并按照该顺序使用参数数组 ?我试过call_user_func_array(),但似乎不起作用。

非常感谢您的帮助

您可以这样尝试:

public class Example{
    private static $instance;
    public static function singleton($arguments)
        {
            if (!isset(self::$instance)) {
                echo 'Creating new instance.';
                $className = __CLASS__;
                self::$instance = new $className($arguments);
            }
            return self::$instance;
        }
}