/** * Register transport implementation for a specific scheme * * @param string scheme * @param lang.XPClass<peer.http.HttpTransport> class */ public static function register($scheme, XPClass $class) { if (!$class->isSubclassOf('peer.http.HttpTransport')) { throw new IllegalArgumentException(sprintf('Given argument must be lang.XPClass<peer.http.HttpTransport>, %s given', $class->toString())); } self::$transports[$scheme] = $class; }
/** * Register a driver * * Usage: * <code> * DriverManager::register('mydb', XPClass::forName('my.db.Connection')); * // [...] * $conn= DriverManager::getConnection('mydb://...'); * </code> * * @param string name identifier * @param lang.XPClass<rdbms.DBConnection> class * @throws lang.IllegalArgumentException in case an incorrect class is given */ public static function register($name, XPClass $class) { if (!$class->isSubclassOf('rdbms.DBConnection')) { throw new IllegalArgumentException(sprintf('Given argument must be lang.XPClass<rdbms.DBConnection>, %s given', $class->toString())); } self::$instance->drivers[$name] = $class; self::$instance->lookup = array(); }