Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Astuces SQL

Exemple #1 Utilisation des constantes d'astuces SQL

<?php
/* Utilisation des constantes pour une portabilité maximale */
$query = "/*" . MYSQLND_QC_ENABLE_SWITCH . "*/SELECT id FROM test";

/* Valide mais moins portable : TTL par défaut */
$query = "/*qc=on*/SELECT id FROM test";

/* Valide mais moins portable : TTL par requête */
$query = "/*qc=on*//*qc_ttl=5*/SELECT id FROM test";

printf("MYSQLND_QC_ENABLE_SWITCH: %s\n", MYSQLND_QC_ENABLE_SWITCH);
printf("MYSQLND_QC_DISABLE_SWITCH: %s\n", MYSQLND_QC_DISABLE_SWITCH);
printf("MYSQLND_QC_TTL_SWITCH: %s\n", MYSQLND_QC_TTL_SWITCH);
?>
<?php
/* Met en cache tous les accès aux tables avec le "new%" dans le schéma/base de données "db_example" pour 1 seconde */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, "db_example.new%", 1)) {
  die("Échec de la définition de la condition de mise en cache !");
}

$mysqli = new mysqli("host", "user", "password", "db_example", "port");
/* Mise en cache alors qu'aucune astuce SQL n'est fournie */
$mysqli->query("SELECT id, title FROM news");

$pdo_mysql = new PDO("mysql:host=host;dbname=db_example;port=port", "user", "password");
/* Non mise en cache : aucune astuce SQL, et le masque ne correspond pas */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* Mise en cache : TTL de 1 seconde, le masque correspond */
$pdo_mysql->query("SELECT id, title FROM news");
?>

MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN (entier)
Utilisé comme paramètre de la fonction mysqlnd_qc_set_cache_condition() pour définir les conditions pour le schéma de mise en cache automatique.

Autres

Le numéro de version du plugin peut être obtenu en utilisant soit la constante MYSQLND_QC_VERSION, qui est une représentation sous forme de chaînes de caractères du numéro de version numérique, ou la constante MYSQLND_QC_VERSION_ID, qui est un entier comme par exemple, 10000. Les développeurs peuvent calculer le numéro de bersion comme ceci :

Version (partie) Exemple
Majeur*10000 1*10000 = 10000
Mineur*100 0*100 = 0
Patch 0 = 0
MYSQLND_QC_VERSION_ID 10000

MYSQLND_QC_VERSION (chaîne de caractères)
Chaîne de caractères représentant la version du plugin, par exemple, "1.0.0-prototype".

MYSQLND_QC_VERSION_ID (entier)
Numéro de version du plugin, par exemple, 10000.

LoadingChargement en cours