Démarrage rapide et exemples
Sommaire
Le plugin de gestion utilisateur mysqlnd peut être compris comme un proxy client-serveur pour toutes les extensions PHP MySQL (mysqli, mysql, PDO_MYSQL), si elles ont été compilées pour utiliser la bibliothèque mysqlnd. Les extensions utilisent la bibliothèque mysqlnd en interne, au niveau du langage C, pour communiquer avec le serveur MySQL. PECL/mysqlnd_uh permet d'intercepter beaucoup d'appels mysqlnd. De plus, la plupart des activités des extensions PHP MySQL peuvent être monitorées.
En raison du fait que la surveillance survient au niveau de la bibliothèque, à une couche en dessous de l'application, il est possible de surveiller les applications sans avoir à les modifier.
Au niveau C, la bibliothèque mysqlnd est structurée en modules ou en classes. L'extension accroche toutes les méthodes de la classe connection interne à mysqlnd et les expose via la classe MysqlndUhConnection de l'espace utilisateur. Quelques méthodes de la classe statement interne à mysqlnd sont disponibles aux utilisateurs PHP avec la classe MysqlndUhPreparedStatement. En surchargeant les classes MysqlndUhConnection et MysqlndUhPreparedStatement, les utilisateurs peuvent avoir accès aux appels fonctions interne à mysqlnd.
Note:
Les appels aux fonctions internes à mysqlnd n'ont pas pour but d'être exposées aux utilisateurs PHP. Une manipulation de leurs activités peut conduire à un crash de PHP ou à une fuite mémore. Aussi, ceci ne saurait être considéré comme un bogue. Veuillez garder à l'esprit que vous accédez à des fonctions de la bibliothèque C via PHP qui sont attendus à effectuer certaines actions, qui peuvent ou non être émulées dans l'espace utilisateur. Aussi, il est fortement recommandé de toujours appeler la méthode implémentée parente lors d'une surcharge de la classe MysqlndUhConnection ou de la classe MysqlndUhPreparedStatement. Pour éviter le pire, l'extension effectue quelques contrôles. Voir aussi les Options de configuration Mysqlnd_uh.