El complemento gestor del usuario de mysqlnd puede ser interpretado como un delegado (proxy) en la parte del
cliente para todas las extensiones de MySQL para PHP (mysqli,
mysql,
PDO_MYSQL), si éstas están compiladas para
utilizar la biblioteca mysqlnd. Dichas
extensiones usan la biblioteca mysqlnd
internamente, a nivel
de C, para comunicarse con el servidor MySQL. PECL/mysqlnd_uh
permite capturar muchas llamadas a mysqlnd
. Por lo tanto,
la mayoría de las actividades de las extensiones de MySQL para PHP pueden ser monitorizadas.
Ya que la monitorización sucede al nivel de la biblioteca, en una capa bajo la aplicación, es posible monitorizar aplicaciones sin tener que modificarlas.
En el nivel de C, la biblioteca mysqlnd
está estructurada en módulos
o clases. La extensión captura casi todos los métodos de la clase interna connection
de mysqlnd
y los expone a través de la
clase del espacio de usuario MysqlndUhConnection. Unos pocos métodos de
la clase interna statement
de mysqlnd están disponibles
para el usuario de PHP con la clase MysqlndUhPreparedStatement.
Mediante la derivación de las clases MysqlndUhConnection y
MysqlndUhPreparedStatement, los ususarios obtienen acceso a
las llamadas a las funciones internas de mysqlnd
.
Nota:
Las llamadas a las funciones internas de
mysqlnd
no estás diseñadas para ser expuestas al usuario de PHP. La manipulación de sus actividades podría causar que PHP falle o que se pierda memoria. A menudo, esto no se considera un fallo. Por favor, recuerde que se está accediendo a funciones de la biblioteca en C a través de PHP de las que se espera que realicen ciertas acciones, la cuales podrían no emularse en el espacio de usuario. Por lo tanto, se recomienda encarecidamente invocar siempre a la implementación del método padre cuando se derive de MysqlndUhConnection o de MysqlndUhPreparedStatement. Para prevenir el peor de los casos, la extensión lleva a cabo algunas comprobaciones sensatas. Por favor, véanse también las Opciones de configuración de Mysqlnd_uh.