MY_Loader::dbforge PHP Method

dbforge() public method

Load the Database Forge Class
public dbforge ( object $db = NULL, boolean $return = FALSE ) : object
$db object Database object
$return boolean Whether to return the DB Forge class object or not
return object
    public function dbforge($db = NULL, $return = FALSE)
    {
        $CI = $this->get_instance();
        if (!is_object($db) or !$db instanceof CI_DB) {
            class_exists('CI_DB', FALSE) or $this->database();
            $db =& $CI->db;
        }
        require_once BASEPATH . 'database/DB_forge.php';
        require_once BASEPATH . 'database/drivers/' . $db->dbdriver . '/' . $db->dbdriver . '_forge.php';
        if (!empty($db->subdriver)) {
            $driver_path = BASEPATH . 'database/drivers/' . $db->dbdriver . '/subdrivers/' . $db->dbdriver . '_' . $db->subdriver . '_forge.php';
            if (file_exists($driver_path)) {
                require_once $driver_path;
                $class = 'CI_DB_' . $db->dbdriver . '_' . $db->subdriver . '_forge';
            }
        } else {
            $class = 'CI_DB_' . $db->dbdriver . '_forge';
        }
        if ($return === TRUE) {
            return new $class($db);
        }
        $CI->dbforge = new $class($db);
        return $this;
    }