Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JDatabaseImporter
+ Graphe d'héritage de JDatabaseImporter:

Liste de tous les membres

Fonctions membres publiques

 __construct ()
 asXml ()
 check ()
 from ($from)
 setDbo (JDatabaseDriver $db)
 withStructure ($setting=true)

Fonctions membres protégées

 getDropColumnSQL ($table, $name)
 getRealTableName ($table)
 mergeStructure ()

Attributs protégés

 $cache = array()
 $db = null
 $from = array()
 $asFormat = 'xml'
 $options = null

Description détaillée

Définition à la ligne 19 du fichier importer.php.


Documentation des constructeurs et destructeur

JDatabaseImporter::__construct ( )

Constructor.

Sets up the default options for the exporter.

Depuis:
13.1

Définition à la ligne 66 du fichier importer.php.

{
$this->options = new stdClass;
$this->cache = array('columns' => array(), 'keys' => array());
// Set up the class defaults:
// Import with only structure
$this->withStructure();
// Export as XML.
$this->asXml();
// Default destination is a string using $output = (string) $exporter;
}

Documentation des fonctions membres

JDatabaseImporter::asXml ( )

Set the output option for the exporter to XML format.

Renvoie:
JDatabaseImporter Method supports chaining.
Depuis:
13.1

Définition à la ligne 90 du fichier importer.php.

{
$this->asFormat = 'xml';
return $this;
}
JDatabaseImporter::check ( )
abstract

Checks if all data and options are in order prior to exporting.

Renvoie:
JDatabaseImporter Method supports chaining.
Depuis:
13.1
Exceptions:
Exceptionif an error is encountered.

Réimplémentée dans JDatabaseImporterMysql, JDatabaseImporterMysqli, et JDatabaseImporterPostgresql.

JDatabaseImporter::from (   $from)

Specifies the data source to import.

Paramètres:
mixed$fromThe data source to import.
Renvoie:
JDatabaseImporter Method supports chaining.
Depuis:
13.1

Définition à la ligne 116 du fichier importer.php.

{
$this->from = $from;
return $this;
}
JDatabaseImporter::getDropColumnSQL (   $table,
  $name 
)
protected

Get the SQL syntax to drop a column.

Paramètres:
string$tableThe table name.
string$nameThe name of the field to drop.
Renvoie:
string
Depuis:
13.1

Définition à la ligne 133 du fichier importer.php.

{
return 'ALTER TABLE ' . $this->db->quoteName($table) . ' DROP COLUMN ' . $this->db->quoteName($name);
}
JDatabaseImporter::getRealTableName (   $table)
protected

Get the real name of the table, converting the prefix wildcard string if present.

Paramètres:
string$tableThe name of the table.
Renvoie:
string The real name of the table.
Depuis:
13.1

Définition à la ligne 147 du fichier importer.php.

{
$prefix = $this->db->getPrefix();
// Replace the magic prefix if found.
$table = preg_replace('|^#__|', $prefix, $table);
return $table;
}
JDatabaseImporter::mergeStructure ( )
protected

Merges the incoming structure definition with the existing structure.

Renvoie:
void
Note:
Currently only supports XML format.
Depuis:
13.1
Exceptions:
RuntimeExceptionon error.

Définition à la ligne 166 du fichier importer.php.

{
$prefix = $this->db->getPrefix();
$tables = $this->db->getTableList();
if ($this->from instanceof SimpleXMLElement)
{
$xml = $this->from;
}
else
{
$xml = new SimpleXMLElement($this->from);
}
// Get all the table definitions.
$xmlTables = $xml->xpath('database/table_structure');
foreach ($xmlTables as $table)
{
// Convert the magic prefix into the real table name.
$tableName = (string) $table['name'];
$tableName = preg_replace('|^#__|', $prefix, $tableName);
if (in_array($tableName, $tables))
{
// The table already exists. Now check if there is any difference.
if ($queries = $this->getAlterTableSQL($xml->database->table_structure))
{
// Run the queries to upgrade the data structure.
foreach ($queries as $query)
{
$this->db->setQuery((string) $query);
try
{
$this->db->execute();
}
catch (RuntimeException $e)
{
$this->addLog('Fail: ' . $this->db->getQuery());
throw $e;
}
$this->addLog('Pass: ' . $this->db->getQuery());
}
}
}
else
{
// This is a new table.
$sql = $this->xmlToCreate($table);
$this->db->setQuery((string) $sql);
try
{
$this->db->execute();
}
catch (RuntimeException $e)
{
$this->addLog('Fail: ' . $this->db->getQuery());
throw $e;
}
$this->addLog('Pass: ' . $this->db->getQuery());
}
}
}
JDatabaseImporter::setDbo ( JDatabaseDriver  $db)

Sets the database connector to use for exporting structure and/or data.

Paramètres:
JDatabaseDriver$dbThe database connector.
Renvoie:
JDatabaseImporter Method supports chaining.
Depuis:
13.1

Définition à la ligne 244 du fichier importer.php.

{
$this->db = $db;
return $this;
}
JDatabaseImporter::withStructure (   $setting = true)

Sets an internal option to merge the structure based on the input data.

Paramètres:
boolean$settingTrue to export the structure, false to not.
Renvoie:
JDatabaseImporter Method supports chaining.
Depuis:
13.1

Définition à la ligne 260 du fichier importer.php.

{
$this->options->withStructure = (boolean) $setting;
return $this;
}

Documentation des données membres

JDatabaseImporter::$asFormat = 'xml'
protected

Définition à la ligne 49 du fichier importer.php.

JDatabaseImporter::$cache = array()
protected

Définition à la ligne 25 du fichier importer.php.

JDatabaseImporter::$db = null
protected

Définition à la ligne 33 du fichier importer.php.

JDatabaseImporter::$from = array()
protected

Définition à la ligne 41 du fichier importer.php.

JDatabaseImporter::$options = null
protected

Définition à la ligne 57 du fichier importer.php.


La documentation de cette classe a été générée à partir du fichier suivant :