Installs a proxy for mysqlnd connections


(PECL mysqlnd-uh >= 1.0.0-alpha)

mysqlnd_uh_set_connection_proxyInstalls a proxy for mysqlnd connections

Описание

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

Installs a proxy object to hook mysqlnd's connection objects methods. Once installed, the proxy will be used for all MySQL connections opened with mysqli, mysql or PDO_MYSQL, assuming that the listed extensions are compiled to use the mysqlnd library.

The function can be disabled with mysqlnd_uh.enable. If mysqlnd_uh.enable is set to FALSE the function will not install the proxy and always return TRUE. Additionally, an error of the type E_WARNING may be emitted. The error message may read like 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 [...].

Список параметров

connection_proxy

A proxy object of type MysqlndUhConnection.

mysqli_connection

Object of type mysqli. If given, the proxy will be set for this particular connection only.

Возвращаемые значения

Returns TRUE on success. Otherwise, returns FALSE

Примеры

Пример #1 mysqlnd_uh_set_connection_proxy() example

<?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!'");
?>

Результат выполнения данного примера:

 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 

Смотрите также