mysqlnd_uh_set_connection_proxy

(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_connection_proxyInstala un proxy para las conexiones de mysqlnd

Descripción

mysqlnd_uh_set_connection_proxy ( MysqlndUhConnection &$connection_proxy [, mysqli &$mysqli_connection ] ) : bool

Instala un objeto proxy para enganchar los métodos de los objetos de conexión de mysqlnd. Una vez instalado, el proxy se usará para todas las conexiones de MySQL abiertas con mysqli, mysql o PDO_MYSQL, asumiendo que las extensiones enumeradas están compiladas para usar la biblioteca mysqlnd.

Esta función se puede deshabilitar con mysqlnd_uh.enable. Si mysqlnd_uh.enable se establece a FALSE la función no instalará el proxy y siempre devolverá TRUE. Además, se emitirá un error de tipo E_WARNING. Este mensaje de error podría leerse como PHP Warning: mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin has been disabled by setting the configuration parameter mysqlnd_uh.enable = false. The proxy has not been installed [...].

Parámetros

connection_proxy

Un objeto proxy de tipo MysqlndUhConnection.

mysqli_connection

Un objeto de tipo mysqli. Si se proporciona, el proxy se establecerá únicamente para esta conexión en particular.

Valores devueltos

Devuelve TRUE en caso de éxito. De lo contrario, devuelve FALSE

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_uh_set_connection_proxy()

<?php
$mysqli 
= new mysqli("localhost""root""""test");
$mysqli->query("SELECT 'No proxy installed, yet'");

class 
proxy extends MysqlndUhConnection {
 public function 
query($res$query) {
   
printf("%s(%s)\n"__METHOD__var_export(func_get_args(), true));
   
$ret parent::query($res$query);
   
printf("%s returns %s\n"__METHOD__var_export($rettrue));
   return 
$ret;
 }
}
mysqlnd_uh_set_connection_proxy(new proxy());

$mysqli->query("SELECT 'mysqlnd rocks!'");

$mysql mysql_connect("localhost""root""""test");
mysql_query("SELECT 'Ahoy Andrey!'"$mysql);

$pdo = new PDO("mysql:host=localhost;dbname=test""root""");
$pdo->query("SELECT 'Moin Johannes!'");
?>

El resultado del ejemplo sería:

proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'mysqlnd rocks!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Ahoy Andrey!\'',
))
proxy::query returns true
proxy::query(array (
  0 => NULL,
  1 => 'SELECT \'Moin Johannes!\'',
))
proxy::query returns true

Ver también