/** * @param Database $db * @param string $class * @throws SchemaException */ public static function loadTable(Database $db, string $class) { // Check if $class is path to an existing $class // $class must be instanceof AbstractTable if (class_exists($class) && is_subclass_of($class, "Comely\\IO\\Database\\Schema\\AbstractTable", true)) { // Lets instantiate $class $table = new $class($db); // Save instance in Schema self::$tables[$class] = $table; } else { // Not found throw SchemaException::tableNotFound($class); } }