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.