com doc/fr: Apply commit be526864c9777106cd78a517628847b60743e2d4: reference/mysqli/functions/mysqli-connect.xml reference/mysqli/mysqli/construct.xml

[email protected] (George Peter Banyard) Wed, 13 Jan 2021 04:44:38 +0000
Newsgroups php.doc.fr
Message-ID <[email protected]>
Commit:    16704bd3800c59b6113d5fda53e527f1cb566c66
Author:    George Peter Banyard <[email protected]>         Wed, 13 Jan 2021 04:44:38 +0000
Parents:   e092f7e4201ea06ecd5883a17ba695647bfd2cd8
Branches:  master

Link:       http://git.php.net/?p=doc/fr.git;a=commitdiff;h=16704bd3800c59b6113d5fda53e527f1cb566c66

Log:
Apply commit be526864c9777106cd78a517628847b60743e2d4

Updating mysqli docs: mysqli::__construct

Changed paths:
  M  reference/mysqli/functions/mysqli-connect.xml
  M  reference/mysqli/mysqli/construct.xml
diff_16704bd3800c59b6113d5fda53e527f1cb566c66.txt (text/plain, 10.2 KB)
diff --git a/reference/mysqli/functions/mysqli-connect.xml b/reference/mysqli/functions/mysqli-connect.xml
index 816146d1c0..b683a82288 100644
--- a/reference/mysqli/functions/mysqli-connect.xml
+++ b/reference/mysqli/functions/mysqli-connect.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: a428d010cbb3b0c53e36475f2954d66dc174342b Maintainer: girgias Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: be526864c9777106cd78a517628847b60743e2d4 Maintainer: girgias Status: ready -->
+<!-- Reviewed: no -->
 <refentry xml:id="function.mysqli-connect" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>mysqli_connect</refname>
@@ -14,47 +13,16 @@
   <para>
    &info.function.alias; <methodname>mysqli::__construct</methodname>
   </para>
-  <para>
-   Bien que la documentation de <methodname>mysqli::__construct</methodname> inclus
-   aussi des exemples procéduraux qui utilisent la fonction
-   <function>mysqli_connect</function>, voici un court exemple :
-  </para>
- </refsect1>
-
- <refsect1 role="examples">
-  &reftitle.examples;
-  <example>
-   <title>Exemple avec <function>mysqli_connect</function></title>
-   <programlisting role="php">
-<![CDATA[
-<?php
-$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
-
-if (!$link) {
-    echo "Erreur : Impossible de se connecter à MySQL." . PHP_EOL;
-    echo "Errno de débogage : " . mysqli_connect_errno() . PHP_EOL;
-    echo "Erreur de débogage : " . mysqli_connect_error() . PHP_EOL;
-    exit;
-}
-
-echo "Succès : Une connexion correcte à MySQL a été faite! La base de donnée my_db est géniale." . PHP_EOL;
-echo "Information d'hôte : " . mysqli_get_host_info($link) . PHP_EOL;
-
-mysqli_close($link);
-?>
-]]>
-   </programlisting>
-   &examples.outputs.similar;
-   <screen>
-<![CDATA[
-Succès : Une connexion correcte à MySQL a été faite! La base de donnée my_db est génial.
-Information d'hôte : localhost via TCP/IP
-]]>
-   </screen>
-  </example>
+  <note>
+   <para>
+    Si le mode d'exception mysqli n'est pas activé et qu'une connexion échoue,
+    alors <function>mysqli_connect</function> retourne &false; au lieu d'un objet.
+    La fonction <function>mysqli_connect_error</function> peut être utilisé pour
+    récupérer l'erreur de connexion.
+   </para>
+  </note>
  </refsect1>
 </refentry>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/reference/mysqli/mysqli/construct.xml b/reference/mysqli/mysqli/construct.xml
index 3b0766c24d..2eb1dc3871 100644
--- a/reference/mysqli/mysqli/construct.xml
+++ b/reference/mysqli/mysqli/construct.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: b95d28e6ec86e4a71e012737d36ebdc1cf009180 Maintainer: yannick Status: ready -->
+<!-- EN-Revision: be526864c9777106cd78a517628847b60743e2d4 Maintainer: yannick Status: ready -->
 <!-- Reviewed: no -->
-
 <refentry xml:id="mysqli.construct" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
   <refname>mysqli::__construct</refname>
@@ -55,10 +54,12 @@
      <term><parameter>host</parameter></term>
      <listitem>
       <para>
-       Peut être un nom d'hôte ou une adresse IP. Si vous passez
-       la valeur &null; ou la chaîne "localhost" à ce paramètre, l'hôte
-       local est sous-entendu. Lorsque c'est possible, les sockets
-       seront utilisées au lieu du protocole TCP/IP.
+       Peut être un nom d'hôte ou une adresse IP.
+       L'hôte local est présumé si la valeur &null; ou la chaîne "localhost"
+       est passée à ce paramètre.
+       Si possible, les pipes seront utilisé à la place du protocole TCP/IP.
+       Le protocol TCP/IP est utilisé si un nom d'hôte et numéro de port sont
+       fournis ensemble, par exemple <literal>localhost:3308</literal>.
       </para>
       <para>
        Préfixer l'hôte par <literal>p:</literal> ouvre une connexion persistante
@@ -127,92 +128,111 @@
  <refsect1 role="returnvalues">
   &reftitle.returnvalues;
   <para>
-   Retourne un objet qui représente la connexion au serveur MySQL,
+   <methodname>mysqli::__construct</methodname> retourne toujours un objet qui représente la connexion au serveur MySQL,
+   peut importe que ceci est réussi ou pas.
+  </para>
+  <para>
+   <function>mysqli_connect</function> retourne un objet qui représente la connexion au serveur MySQL,
    &return.falseforfailure;.
   </para>
  </refsect1>
 
+ <refsect1 role="errors">
+  &reftitle.errors;
+  <para>
+   Si <constant>MYSQLI_REPORT_STRICT</constant> est activé et qu'une tentative de connexion
+   à la base de données demandé échoue, une <classname>mysqli_sql_exception</classname> est lancé.
+  </para>
+ </refsect1>
+
  <refsect1 role="examples">
   &reftitle.examples;
   <example>
-   <title>Exemple avec <methodname>mysqli::__construct</methodname></title>
+   <title>Exemple <methodname>mysqli::__construct</methodname></title>
    <para>&style.oop;</para>
    <programlisting role="php">
 <![CDATA[
 <?php
+/* Vous devriez toujours activer le rapport d'erreur pour mysqli avant une tentative de connexion */
+mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
 $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
-
-/*
- * Ceci est le style POO "officiel"
- * MAIS $connect_error était erroné jusqu'en PHP 5.2.9 et 5.3.0.
- */
-if ($mysqli->connect_error) {
-    die('Erreur de connexion (' . $mysqli->connect_errno . ') '
-            . $mysqli->connect_error);
-}
-
-/*
- * Utilisez cette syntaxe de $connect_error si vous devez assurer
- * la compatibilité avec les versions de PHP avant 5.2.9 et 5.3.0.
- */
-if (mysqli_connect_error()) {
-    die('Erreur de connexion (' . mysqli_connect_errno() . ') '
-            . mysqli_connect_error());
-}
-
-echo 'Succès... ' . $mysqli->host_info . "\n";
-
-$mysqli->close();
-?>
+/* Définir le jeu de caractère désiré après avoir établie une connexion */
+$mysqli->set_charset('utf8mb4');
+printf("Success... %s\n", $mysqli->host_info);
 ]]>
    </programlisting>
-   <para>&style.oop; when extending mysqli class</para>
+   <para>&style.procedural;</para>
    <programlisting role="php">
 <![CDATA[
 <?php
-
-class foo_mysqli extends mysqli {
-    public function __construct($host, $user, $pass, $db) {
-        parent::__construct($host, $user, $pass, $db);
-
-        if (mysqli_connect_error()) {
-            die('Erreur de connexion (' . mysqli_connect_errno() . ') '
-                    . mysqli_connect_error());
-        }
+/* Vous devriez toujours activer le rapport d'erreur pour mysqli avant une tentative de connexion */
+mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
+$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
+/* Définir le jeu de caractère désiré après avoir établie une connexion */
+mysqli_set_charset($mysqli, 'utf8mb4');
+printf("Success... %s\n", mysqli_get_host_info($mysqli));
+]]>
+   </programlisting>
+   &examples.outputs.similar;
+   <screen>
+<![CDATA[
+Success... localhost via TCP/IP
+]]>
+   </screen>
+  </example>
+  <example>
+   <title>Étendre la classe mysqli</title>
+   <programlisting role="php">
+<![CDATA[
+<?php
+class FooMysqli extends mysqli {
+    public function __construct($host, $user, $pass, $db, $port, $socket, $charset) {
+        mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
+        parent::__construct($host, $user, $pass, $db, $port, $socket);
+        $this->set_charset($charset);
     }
 }
-
-$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');
-
-echo 'Succès... ' . $db->host_info . "\n";
-
-$db->close();
-?>
+$db = new FooMysqli('localhost', 'my_user', 'my_password', 'my_db', 3306, null, 'utf8mb4');
 ]]>
    </programlisting>
-   <para>&style.procedural;</para>
+  </example>
+  <example>
+   <title>Gestion d'erreur manuelle</title>
+   <para>Si le rapport d'erreur est désactivé, le développeur est responsable pour vérifier et gérer les échecs</para>
+   <para>&style.oop;</para>
    <programlisting role="php">
 <![CDATA[
 <?php
-$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
-
-if (!$link) {
-    die('Erreur de connexion (' . mysqli_connect_errno() . ') '
-            . mysqli_connect_error());
+error_reporting(0);
+mysqli_report(MYSQLI_REPORT_OFF);
+$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
+if ($mysqli->connect_errno) {
+    throw new RuntimeException('mysqli connection error: ' . $mysqli->connect_error);
+}
+/* Définir le jeu de caractère désiré après avoir établie une connexion */
+$mysqli->set_charset('utf8mb4');
+if ($mysqli->errno) {
+    throw new RuntimeException('mysqli error: ' . $mysqli->error);
 }
-
-echo 'Succès... ' . mysqli_get_host_info($link) . "\n";
-
-mysqli_close($link);
-?>
 ]]>
    </programlisting>
-   &examples.outputs;
-   <screen>
+   <para>&style.procedural;</para>
+   <programlisting role="php">
 <![CDATA[
-Succès... MySQL host info: localhost via TCP/IP
+<?php
+error_reporting(0);
+mysqli_report(MYSQLI_REPORT_OFF);
+$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
+if (mysqli_connect_errno()) {
+    throw new RuntimeException('mysqli connection error: ' . mysqli_connect_error());
+}
+/* Définir le jeu de caractère désiré après avoir établie une connexion */
+mysqli_set_charset($mysqli, 'utf8mb4');
+if (mysqli_errno($mysqli)) {
+    throw new RuntimeException('mysqli error: ' . mysqli_error($mysqli));
+}
 ]]>
-   </screen>
+   </programlisting>
   </example>
  </refsect1>
 
@@ -221,8 +241,8 @@ Succès... MySQL host info: localhost via TCP/IP
   &mysqli.charset.note;
   <note>
    <para>
-    Uniquement pour la syntaxe orientée objet : pour vérifier si la 
-    connexion a échoué, utilisez la fonction 
+    &style.oop; uniquement : si la connexion a échoué, un objet est quand même retourné.
+    Pour vérifier si la connexion a échoué, utilisez soit la fonction 
     <function>mysqli_connect_error</function> ou la propriété 
     <link linkend="mysqli.connect-error">mysqli->connect_error</link>
     comme dans l'exemple ci-dessus.
@@ -266,7 +286,6 @@ Succès... MySQL host info: localhost via TCP/IP
  </refsect1>
 
 </refentry>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml