com doc/fr: Apply commit bcd666c7d0027d2ea13b5051d39e8cf48e338d27: language/operators.xml

[email protected] (George Peter Banyard) Wed, 17 Mar 2021 15:02:49 +0000
Newsgroups php.doc.fr
Message-ID <[email protected]>
Commit:    29ec44050593d09d727873353c45bb5046b3ba4f
Author:    George Peter Banyard <[email protected]>         Wed, 17 Mar 2021 15:02:49 +0000
Parents:   25ab69b5d2a2ce3ec767d7013796546fe81e7bac
Branches:  master

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

Log:
Apply commit bcd666c7d0027d2ea13b5051d39e8cf48e338d27

Fix ternary precedence

Changed paths:
  M  language/operators.xml


Diff:
diff --git a/language/operators.xml b/language/operators.xml
index b44961aa30..a611b8320a 100644
--- a/language/operators.xml
+++ b/language/operators.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 12b1d4704ea448b55ec155619be1e50c0e67e9f9 Maintainer: yannick Status: ready -->
+<!-- EN-Revision: bcd666c7d0027d2ea13b5051d39e8cf48e338d27 Maintainer: yannick Status: ready -->
 <!-- Reviewed: no -->
 <!-- CREDITS: DAnnebicque -->
 <chapter xml:id="language.operators" xmlns="http://docbook.org/ns/docbook">
@@ -228,7 +228,7 @@
        </entry>
       </row>
       <row>
-       <entry>gauche</entry>
+       <entry>(n/a)</entry>
        <entry><literal>? :</literal></entry>
        <entry>
         <link linkend="language.operators.comparison.ternary">ternaire</link>
@@ -374,6 +374,36 @@ x moins un est égal 3, en tout cas j'espère
     sera placé dans la variable <varname>$a</varname>.
    </para>
   </note>
+  <sect2 role="changelog">
+   &reftitle.changelog;
+   <informaltable>
+    <tgroup cols="2">
+     <thead>
+      <row>
+       <entry>&Version;</entry>
+       <entry>&Description;</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row>
+       <entry>8.0.0</entry>
+       <entry>
+        L'opérateur ternaire (<literal>? :</literal>) est désormais non-associatif ;
+        auparavant il était gauche-associatif.
+       </entry>
+      </row>
+      <row>
+       <entry>7.4.0</entry>
+       <entry>
+        Dépendre de la gauche-associativité de l'opérateur ternaire (<literal>? :</literal>),
+        c.à.d. l'imbrication de plusieurs opérateur ternaire qui ne sont pas
+        entre parenthèse, est obsolète.
+       </entry>
+      </row>
+     </tbody>
+    </tgroup>
+   </informaltable>
+  </sect2>
  </sect1>
  
  <sect1 xml:id="language.operators.arithmetic">
@@ -1805,19 +1835,21 @@ if (empty($_POST['action'])) {
    <note>
     <para>
      Il est recommandé de ne pas "empiler" les expressions ternaires.
-     Le comportement de PHP lors de l'utilisation de plus d'un opérateur
-     ternaire dans une seule instruction n'est pas évident comparé à d'autres
-     langages.
-     En effet, antérieur à PHP 8.0.0, les expressions ternaires étaient évaluées
-     de gauche à droite, au lieu de droite à gauche comme la plupart des autres
-     langages de programmation.
+     Le comportement de PHP lors de l'utilisation de plusieurs opérateur
+     ternaire qui ne sont pas entre parenthèse en une unique expression est
+     non-évident comparé à d'autres langages.
+     En effet antérieur à PHP 8.0.0, l'expression ternaire était évalué
+     gauche-associatif, au lieu de droite-associatif comme la plupart des
+     autres langages de programmations.
+     Dépendre de la gauche associativité est obsolète à partir de PHP 7.4.0.
+     À partir de PHP 8.0.0, l'opérateur ternaire est non-associatif.
      <example>
       <title>Comportement de PHP</title>
       <programlisting role="php">
 <![CDATA[
 <?php
 // A première vue, ce qui suit devrait retourner 'true'
-echo (true?'true':false?'t':'f');
+echo (true ? 'true' : false ? 't' : 'f');
 
 // cependant, l'expression ci-dessus retournera 't' antérieur à PHP 8.0.0
 // car l'expression ternaire est évaluée de gauche à droite