SALT > Manuel > Tutoriel >
Actuellement seule la base de données MySQL est supportée et les versions inférieures à 5.6 n'ont pas été testées avec le framework.

L'utilisation d'une base de données se fait via une instance de la classe DBHelper. L'utilisation se fait en 3 étapes :

Déclaration de la base de données

<?php
use salt\DBHelper;

// La déclaration d'une base de données nécessite de connaitre les informations suivantes :
// Name : Le nom interne que l'on souhaite donner à la base. Utile uniquement si on travaille sur
//   plusieurs connexions à des bases différentes.
// HOST : L'adresse de la machine physique (nom d'hôte ou IP)
// PORT : Le numéro du port du serveur MySQL
// DATABASE : Le nom de la database à laquelle se connecter
// USER : Le nom de l'utilisateur
// PASS : Le password
// CHARSET : Le charset du client

// Permet d'enregistrer la base "principale"
DBHelper::registerDefault('Name'HOSTPORTDATABASEUSERPASSCHARSET);

// Permet d'enregistrer une autre base de données, en donnant un nom différent
DBHelper::register('Name2'HOST2PORT2DATABASE2USER2PASS2CHARSET2);
Le charset du client est le charset du site (qui est le client de la base de données). Il s'agit d'un charset au format "MySQL" tel que décrit sur cette page.
Il n'est donc pas possible de le "déduire" du charset configuré dans SALT et doit être indiqué explicitement.

Récupération d'une instance

Une fois la ou les bases déclarées, on peut récupérer une instance de connexion avec : <?php
use salt\DBHelper;

// Récupère le singleton de connexion de la base enregistrée avec registerDefault()
$DB DBHelper::getInstance();

// Récupère le singleton de connexion de la base enregistrée avec register('Name2', ...)
$DB2 DBHelper::getInstance('Name2');

// Récupère le singleton de connexion de la base enregistrée avec register('Name', ...)
// Ici $DB === $DB3
$DB3 DBHelper::getInstance('Name');
Pour des raisons de sécurité, une fois que l'instance d'une base déclarée est récupérée, la connexion est établie et le mot de passe est supprimé du framework afin de ne plus être accessible, par erreur ou par malveillance, par la suite.
Il est donc conseillé d'établir la connexion juste après la déclaration.

Les connexions étant des singletons, il est possible de rappeler DBHelper::getInstance() par la suite sans avoir besoin du mot de passe.

En cas d'erreur lors de la connexion une salt\SaltException sera levée, encapsulant l'exception d'origine (en général une PDOException)

Utilisation de l'instance

<?php
// Execute une requête sur la base
$result $DB->execQuery(...);
// ou
$result $DB->execSQL(...);
L'API de DBHelper est décrite dans les sections suivantes