mysqlnd_uh_set_connection_proxy
(PECL mysqlnd-uh >= 1.0.0-alpha)
mysqlnd_uh_set_connection_proxy — Installe un proxy pour les connexions mysqlnd
Description
&$connection_proxy
[, mysqli &$mysqli_connection
] )Installe un objet proxy pour intercepter les méthodes des objets de connexion mysqlnd. Une fois installée, le proxy sera utilisé pour toutes les connexions MySQL ouvertes avec mysqli, mysql ou PDO_MYSQL, en supposant que ces extensions sont compilés pour utiliser la bibliothèque mysqlnd.
La fonction peut être désactivée avec l'option
mysqlnd_uh.enable.
Si mysqlnd_uh.enable
vaut FALSE
, la fonction n'installera pas le proxy et retournera toujours TRUE
.
De plus, une alerte de niveau E_WARNING pourra être émise.
Le message d'erreur sera 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 [...].
Liste de paramètres
-
connection_proxy
-
Un objet proxy de type MysqlndUhConnection.
-
mysqli_connection
-
Objet de type mysqli. Si fourni, le proxy ne sera défini que pour cette connexion.
Valeurs de retour
Retourne TRUE
en cas de succès, FALSE
sinon.
Exemples
Exemple #1 Exemple avec 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 retourne %s\n", __METHOD__, var_export($ret, true)); 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!'"); ?>
L'exemple ci-dessus va afficher :
proxy::query(array ( 0 => NULL, 1 => 'SELECT \'mysqlnd rocks!\'', )) proxy::query retourne true proxy::query(array ( 0 => NULL, 1 => 'SELECT \'Ahoy Andrey!\'', )) proxy::query retourne true proxy::query(array ( 0 => NULL, 1 => 'SELECT \'Moin Johannes!\'', )) proxy::query retourne true
Voir aussi
- mysqlnd_uh_set_statement_proxy() - Installe un proxy pour les requêtes mysqlnd
- mysqlnd_uh.enable