createWithArgs($class, $args); } /** * Creates a class instance by the "singleton" design pattern. * It will always return the same instance for this class, * which can be used for performance reasons and as a simple * way to access instance methods which don't rely on instance * data (e.g. the custom SilverStripe static handling). * * @param string $class Optional classname to create, if the called class should not be used * @return static The singleton instance */ public static function singleton($class = null) { if (!$class) { $class = get_called_class(); } return Injector::inst()->get($class); } }