com doc/fr: Apply commit a9edd62d087ab1eb6292c795b7256e14ff9f1234: language/constants.xml language/oop5/abstract.xml language/oop5/anonymous.xml language/oop5/autoload.xml language/oop5/basic.xml language/oop5/cloning.xml language/oop5/constants.xml language/oop5/decon.xml language/oop5/final.xml language/oop5/interfaces.xml language/oop5/iterations.xml language/oop5/late-static-bindings.xml language/oop5/magic.xml language/oop5/object-comparison

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

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

Log:
Apply commit a9edd62d087ab1eb6292c795b7256e14ff9f1234

Refactor OO section

Changed paths:
  M  language/constants.xml
  M  language/oop5/abstract.xml
  M  language/oop5/anonymous.xml
  M  language/oop5/autoload.xml
  M  language/oop5/basic.xml
  M  language/oop5/cloning.xml
  M  language/oop5/constants.xml
  M  language/oop5/decon.xml
  M  language/oop5/final.xml
  M  language/oop5/interfaces.xml
  M  language/oop5/iterations.xml
  M  language/oop5/late-static-bindings.xml
  M  language/oop5/magic.xml
  M  language/oop5/object-comparison.xml
  M  language/oop5/overloading.xml
  M  language/oop5/paamayim-nekudotayim.xml
  M  language/oop5/properties.xml
  M  language/oop5/references.xml
  M  language/oop5/serialization.xml
  M  language/oop5/static.xml
  M  language/oop5/traits.xml
  M  language/oop5/visibility.xml
diff_c4151d03e2c3b275c15ac03ce3ecf135313999ab.txt (text/plain, 57.6 KB)
diff --git a/language/constants.xml b/language/constants.xml
index e6687b9e03..87c55dc3b8 100644
--- a/language/constants.xml
+++ b/language/constants.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 084d6414ec628d768a38d719443d42438b9ec398 Maintainer: yannick Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
 <!-- Reviewed: no -->
 <!-- CREDITS: DAnnebicque -->
 <chapter xml:id="language.constants" xmlns="http://docbook.org/ns/docbook">
diff --git a/language/oop5/abstract.xml b/language/oop5/abstract.xml
index 5cb1accf15..d320c421e6 100644
--- a/language/oop5/abstract.xml
+++ b/language/oop5/abstract.xml
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: d152dc10216193f0d98b3ead2cfcbaaa3b99c06d Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
 <sect1 xml:id="language.oop5.abstract" xmlns="http://docbook.org/ns/docbook">
  <title>Abstraction de classes</title>
  
  <para>
-  PHP 5 introduit les concepts de classes et de méthodes abstraites.
+  PHP a des classes et méthodes abstraites.
   Les classes définies comme abstraites ne peuvent pas être
   instanciées, et toute classe contenant au moins une
-  méthode abstraite doit elle-aussi être abstraite. Les méthodes
-  définies comme abstraites déclarent simplement la signature
-  de la méthode - elles ne peuvent définir son implémentation.
+  méthode abstraite doit elle-aussi être abstraite.
+  Les méthodes définies comme abstraites déclarent simplement la signature
+  de la méthode ; elles ne peuvent définir son implémentation.
  </para>
  
  <para>
@@ -26,8 +26,6 @@
   le nombre d'arguments requis doivent être les mêmes. Par exemple, si la classe
   enfant définit un argument optionnel, alors que la signature de la méthode
   abstraite ne le définit pas, il n'y aura aucun conflit dans la signature.
-  Ceci s'applique aussi aux constructeurs depuis PHP 5.4. Avant la version 5.4,
-  les signatures des constructeurs pouvaient être différentes.
  </para>
  
  <example>
diff --git a/language/oop5/anonymous.xml b/language/oop5/anonymous.xml
index c4ca746cc9..7c07bd634b 100644
--- a/language/oop5/anonymous.xml
+++ b/language/oop5/anonymous.xml
@@ -1,14 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: c373ef087f8ba9c2d4358c81edd42c57d1eb7452 Maintainer: jeanseb Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: jeanseb Status: ready -->
 <!-- Reviewed: no -->
-
 <sect1 xml:id="language.oop5.anonymous" xmlns="http://docbook.org/ns/docbook">
  <title>Classes anonymes</title>
 
  <para>
-  Le support pour les classes anonymes a été rajouté en PHP 7. Les classes 
-  anonymes sont utiles lorsque de simples objets uniques ont besoin d'être créés.
+  Les classes anonymes sont utiles lorsque de simples objets uniques ont besoin d'être créés.
  </para>
 
  <informalexample>
@@ -16,7 +14,7 @@
 <![CDATA[
 <?php
 
-// Avant PHP 7 
+// Utilisant une classe explicite
 class Logger
 {
     public function log($msg)
@@ -27,7 +25,7 @@ class Logger
 
 $util->setLogger(new Logger());
 
-// PHP 7+ code
+// Utilisant une classe anonyme
 $util->setLogger(new class {
     public function log($msg)
     {
@@ -179,7 +177,6 @@ class@anonymous/in/oNi1A0x7f8636ad2021
   </informalexample>
  </note>
 </sect1>
- 
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/autoload.xml b/language/oop5/autoload.xml
index 4fbfb6f48b..2824b2ff6d 100644
--- a/language/oop5/autoload.xml
+++ b/language/oop5/autoload.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 71b5a8fe9132b287da51b55290bce09d51512077 Maintainer: jpauli Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: jpauli Status: ready -->
+<!-- Reviewed: no -->
 <sect1 xml:id="language.oop5.autoload" xmlns="http://docbook.org/ns/docbook">
  <title>Auto-chargement de classes</title>
  <para>
@@ -12,37 +11,24 @@
   fichier de classes au début de chaque script : une inclusion par classe.
  </para>
  <para>
-  En PHP 5, ce n'est plus nécessaire. La fonction 
-  <function>spl_autoload_register</function> enregistre un nombre quelconque de 
-  chargeurs automatiques, ce qui permet aux classes et aux interfaces d'être 
+  La fonction <function>spl_autoload_register</function> enregistre un nombre quelconque de
+  chargeurs automatiques, ce qui permet aux classes et aux interfaces d'être
   automatiquement chargées si elles ne sont pas définies actuellement.
-  En enregistrant des autochargeurs, PHP donne une dernière chance d'inclure une 
+  En enregistrant des autochargeurs, PHP donne une dernière chance d'inclure une
   définition de classe ou interface, avant que PHP n'échoue avec une erreur.
  </para>
-  <tip>
-   <para>
-    Bien que la fonction <function>__autoload</function> puisse également être 
-    utilisée pour le chargement automatique des classes et des interfaces, il 
-    est préférable d'utiliser la fonction <function>spl_autoload_register</function>. 
-    Cela est dû au fait qu'il s'agit d'une alternative plus flexible (permettant 
-    de spécifier un nombre quelconque de chargeurs automatique dans l'application, 
-    par exemple dans les bibliothèques tierces).
-    Pour cette raison, l'utilisation de <function>__autoload</function> est
-    découragée et est obsolète à partir de PHP 7.2.
-   </para>
-  </tip>
- <note>
+ <tip>
   <para>
-   Avant PHP 5.3, les exceptions lancées depuis la fonction <function>__autoload</function>
-   ne pouvaient pas être interceptées par un bloc
-   <link linkend="language.exceptions">catch</link> et provoquaient une
-   erreur fatale. Depuis PHP 5.3 et supérieur, cela est possible a condition que 
-   si vous lancez une exception personnalisée, alors la classe de
-   cette exception doit être disponible. La fonction <function>__autoload</function> peut
-   être utilisée récursivement pour charger automatiquement
-   la classe de l'exception personnalisée.
+   Bien que la fonction <function>__autoload</function> puisse également être 
+   utilisée pour le chargement automatique des classes et des interfaces, il 
+   est préférable d'utiliser la fonction <function>spl_autoload_register</function>. 
+   Cela est dû au fait qu'il s'agit d'une alternative plus flexible (permettant 
+   de spécifier un nombre quelconque de chargeurs automatique dans l'application, 
+   par exemple dans les bibliothèques tierces).
+   Pour cette raison, l'utilisation de <function>__autoload</function> est
+   découragée et est obsolète à partir de PHP 7.2.
   </para>
- </note>
+ </tip>
  <note>
   <para>
    L'auto-chargement n'est pas disponible si vous utilisez PHP en
@@ -106,7 +92,7 @@ Fatal error: Interface 'ITest' not found in ...
    </programlisting>
   </example>
   <example>
-   <title>Auto-chargement avec gestion des exceptions en PHP 5.3.0+</title>
+   <title>Auto-chargement avec gestion des exceptions</title>
    <para>
     Cet exemple lance une exception et montre comment la traiter avec
     un bloc try/catch.
@@ -136,7 +122,7 @@ Impossible de charger NonLoadableClass.
    </screen>
   </example>
   <example>
-   <title>Auto-chargement avec gestion des exceptions en PHP 5.3.0+. Exception personnalisée manquante</title>
+   <title>Auto-chargement avec gestion des exceptions. Exception personnalisée manquante</title>
    <para>
     Cet exemple lance une exception personnalisée non-chargeable.
    </para>
diff --git a/language/oop5/basic.xml b/language/oop5/basic.xml
index decc965c1d..90eeabc14d 100644
--- a/language/oop5/basic.xml
+++ b/language/oop5/basic.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 4528db2d91279a8f120bacfd84e48f7e2281d923 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
  <sect1 xml:id="language.oop5.basic" xmlns="http://docbook.org/ns/docbook">
   <title>Syntaxe de base</title>
   <sect2 xml:id="language.oop5.basic.class">
@@ -44,86 +43,87 @@ class SimpleClass
 ]]>
     </programlisting>
    </example>
-   <para>    
+   <para>
     La pseudo-variable <varname>$this</varname> est disponible
     lorsqu'une méthode est appelée depuis un contexte objet.
-    <varname>$this</varname> est une référence à l'objet appelant (habituellement,
-    l'objet auquel la méthode appartient, mais ce peut être un autre objet si
-    la méthode est appelée de manière
-    <link linkend="language.oop5.static">statique</link> depuis le
-    contexte d'un autre objet).
-    À partir de PHP 7.0.0 appeler une méthode non statique statiquement depuis un
-    context incompatible résulte en $this étant indéfini à l'intérieur de la méthode.
-    Appeler une méthode non statique statiquement depuis un context incompatible a
-    été rendu obsolète à partir de PHP 5.6.0. À partir de PHP 7.0.0 appeler une
-    méthode non statique statiquement a été rendu obsolète généralement (même si
-    appelé depuis un contexte compatible). Antérieur à PHP 5.6.0 ce genre d'appel
-    déclenchaient déjà une notice stricte.
+    <varname>$this</varname> est une référence à l'objet appelant.
    </para>
-   <para>
+   <warning>
+    <para>
+     Appeler une méthode non-statique statiquement lance une
+     <classname>Error</classname>.
+     Antérieur à PHP 8.0.0, ceci générait une notice d'obsolescence,
+     et <varname>$this</varname> était indéfini.
+    </para>
     <example xml:id="language.oop5.basic.class.this">
      <title>Quelques exemples de la pseudo-variable <varname>$this</varname></title>
-     <simpara>
-      Nous assumerons que error_reporting est désactivé dans cet exemple ;
-      sinon le code suivant déclencherait des notices obsolète et stricte,
-      respectivement en fonction de la version de PHP.
-     </simpara>
      <programlisting role="php">
 <![CDATA[
 <?php
 class A
 {
-  function toto()
-  {
-    if (isset($this)) {
-      echo '$this est définie (';
-      echo get_class($this);
-      echo ")\n";
-    } else {
-      echo "\$this n'est pas définie.\n";
+    function foo()
+    {
+        if (isset($this)) {
+            echo '$this is defined (';
+            echo get_class($this);
+            echo ")\n";
+        } else {
+            echo "\$this is not defined.\n";
+        }
     }
-  }
 }
 
 class B
 {
-  function titi()
-  {
-    A::toto();
-  }
+    function bar()
+    {
+        A::foo();
+    }
 }
 
 $a = new A();
-$a->toto();
+$a->foo();
+
+A::foo();
 
-A::toto();
 $b = new B();
-$b->titi();
+$b->bar();
 
-B::titi();
+B::bar();
 ?>
 ]]>
      </programlisting>
-     &example.outputs.5;
+     &example.outputs.7;
      <screen>
 <![CDATA[
-$this est définie (A)
-$this n'est pas définie.
-$this est définie (B)
-$this n'est pas définie.
+$this is defined (A)
+
+Deprecated: Non-static method A::foo() should not be called statically in %s  on line 27
+$this is not defined.
+
+Deprecated: Non-static method A::foo() should not be called statically in %s  on line 20
+$this is not defined.
+
+Deprecated: Non-static method B::bar() should not be called statically in %s  on line 32
+
+Deprecated: Non-static method A::foo() should not be called statically in %s  on line 20
+$this is not defined.
 ]]>
      </screen>
-     &example.outputs.7;
+     &example.outputs.8;
      <screen>
 <![CDATA[
-$this est définie (A)
-$this n'est pas définie.
-$this n'est pas définie.
-$this n'est pas définie.
+$this is defined (A)
+
+Fatal error: Uncaught Error: Non-static method A::foo() cannot be called statically in %s :27
+Stack trace:
+#0 {main}
+  thrown in %s  on line 27
 ]]>
      </screen>
     </example>
-   </para>
+   </warning>
   </sect2>
 
   <sect2 xml:id="language.oop5.basic.new">
@@ -208,7 +208,7 @@ object(SimpleClass)#1 (1) {
     </screen>
    </example>
    <para>
-    PHP 5.3.0 a introduit de nouvelles manières de créer des objets :
+    Il est possible de créer une instance d'un objet de quelques manières différentes :
    </para>
    <example>
     <title>Créer de nouveaux objets</title>
@@ -249,7 +249,7 @@ bool(true)
    </example>
 
    <para>
-    PHP 5.4.0 introduit la possibilité d'accéder un membre d'un objet nouvellement
+    Il est possible d'accéder à un membre d'un objet nouvellement
     créé en une seule expression :
    </para>
    <example>
@@ -317,7 +317,7 @@ method
     Ceci signifie qu'appeler une <link linkend="functions.anonymous">fonction
     anonyme</link> qui a été assigné à une propriété n'est pas possible directement.
     Au lieu de cela, la propriété doit d'abord être affectée à une variable.
-    À partir de PHP 7.0.0 il est possible d'appeler ce genre de propriété directement
+    Il est possible d'appeler ce genre de propriété directement
     en la mettant entre parenthèses.
    </para>
    <example>
@@ -338,11 +338,6 @@ class Foo
 
 $obj = new Foo();
 
-// à partir de PHP 5.3.0:
-$func = $obj->bar;
-echo $func(), PHP_EOL;
-
-// alternativement, à partir de PHP 7.0.0:
 echo ($obj->bar)(), PHP_EOL;
 ]]>
     </programlisting>
@@ -358,13 +353,13 @@ echo ($obj->bar)(), PHP_EOL;
   <sect2 xml:id="language.oop5.basic.extends">
    <title>Le mot-clé <literal>extends</literal></title>
    <para>
-    Une classe peut hériter des méthodes et des membres d'une autre classe en
+    Une classe peut hériter des constantes, méthodes, et des propriétés d'une autre classe en
     utilisant le mot-clé <literal>extends</literal> dans la déclaration.
     Il n'est pas possible d'étendre plusieurs classes : une classe peut
     uniquement hériter d'une seule classe de base.
    </para>
    <para>
-    Les méthodes et membres hérités peuvent être surchargés en les redéclarant avec le
+    Les constantes, méthodes, et propriétés hérités peuvent être surchargés en les redéclarant avec le
     même nom que dans la classe parente. Cependant, si la classe parente a défini
     une méthode comme <link linkend="language.oop5.final">final</link>, alors celle-ci
     ne sera pas surchargeable. Il est possible d'accéder aux
diff --git a/language/oop5/cloning.xml b/language/oop5/cloning.xml
index a2ea1dfc09..c2bca9c6dc 100644
--- a/language/oop5/cloning.xml
+++ b/language/oop5/cloning.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 9093ce1bc60f23330e92e99784eec74d315f151c Maintainer: yannick Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
 <!-- Reviewed: yes -->
-
  <sect1 xml:id="language.oop5.cloning" xmlns="http://docbook.org/ns/docbook">
   <title>Clonage d'objets</title>
 
@@ -142,7 +141,7 @@ MyCloneable Object
   </example>
 
   <para>
-   PHP 7.0.0 introduit la possibilité d'accéder à un membre d'un objet 
+   Il est possible d'accéder à un membre d'un objet 
    fraîchement cloné dans une seule expression:
   </para>
   <example>
@@ -163,7 +162,6 @@ echo (clone $dateTime)->format('Y');
    </screen>
   </example>
  </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/constants.xml b/language/oop5/constants.xml
index dac5d3fb81..6af788ec71 100644
--- a/language/oop5/constants.xml
+++ b/language/oop5/constants.xml
@@ -1,39 +1,37 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: b08540046ece3586e543293d3c01630d9127b285 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
 <sect1 xml:id="language.oop5.constants" xmlns="http://docbook.org/ns/docbook">
  <title>Constantes de classe</title>
  <para>
-  Il est possible de définir des valeurs constantes à l'intérieur d'une classe,
-  qui ne seront pas modifiables. Les constantes diffèrent des variables normales
-  du fait que l'on n'utilise pas le symbole <varname>$</varname> pour les déclarer
-  ou les utiliser.
+  Il est possible de définir des <link linkend="language.constants">constantes</link>
+  par classes qui restent identique et non modifiables.
   La visibilité par défaut des constantes de classe est <literal>public</literal>.
  </para>
+ <note>
+  <para>
+   Les constantes de classes peuvent être redéfinis par une classe enfant.
+  </para>
+ </note>
  <para>
-  La valeur doit être une expression constante, pas (par exemple) une variable,
-  une propriété, ou un appel de fonction.
+  Il est aussi possible pour les interfaces d'avoir des <literal>constantes</literal>.
+  Voir la <link linkend="language.oop5.interfaces">documentation des interfaces</link>
+  pour des exemples.
  </para>
  <para>
-  Il est aussi possible pour les interfaces d'avoir des <literal>constantes</literal>. Regardez
-   la <link linkend="language.oop5.interfaces">documentation des interfaces</link> pour quelques 
-   exemples.
-  </para>
-  <para>
-   Depuis PHP 5.3.0, il est possible de référencer la classe en utilisant une
-   variable. La valeur de la variable ne peut pas être un mot-clé (e.g. <literal>self</literal>,
-   <literal>parent</literal> et <literal>static</literal>).
-  </para>
+  Il est possible de référencer la classe en utilisant une variable.
+  La valeur de la variable ne peut pas être un mot-clé (e.g. <literal>self</literal>,
+  <literal>parent</literal> et <literal>static</literal>).
+ </para>
  <para>
   Notez que les constantes de classe sont allouées une fois par classe, et non 
   pour chaque instance de classe.
  </para>
- 
-  <example>
-   <title>Définition et utilisation d'une constante de classe</title>
-   <programlisting role="php">
+
+ <example>
+  <title>Définition et utilisation d'une constante de classe</title>
+  <programlisting role="php">
 <![CDATA[
 <?php
 class MyClass
@@ -48,46 +46,21 @@ class MyClass
 echo MyClass::CONSTANT . "\n";
 
 $classname = "MyClass";
-echo $classname::CONSTANT . "\n"; // Depuis PHP 5.3.0
+echo $classname::CONSTANT . "\n";
 
 $class = new MyClass();
 $class->showConstant();
 
-echo $class::CONSTANT."\n"; // Depuis PHP 5.3.0
-?>
-]]>
-   </programlisting>
-  </example>
-  
-  <example>
-   <title>Exemple de données statiques</title>
-   <programlisting role="php">
-<![CDATA[
-<?php
-class foo {
-    // Depuis PHP 5.3.0
-    const BAR = <<<'EOT'
-bar
-EOT;
-    // Depuis PHP 5.3.0
-    const BAZ = <<<EOT
-baz
-EOT;
-}
+echo $class::CONSTANT."\n";
 ?>
 ]]>
-   </programlisting>
-  </example>
-  
-  <note>
-   <para>
-    La prise en charge de l'initialisation des constantes avec la syntaxe Heredoc et Nowdoc a été ajoutée dans PHP 5.3.0.
-   </para>
-  </note>
+  </programlisting>
+ </example>
  <para>
-  La constante spéciale <constant>::class</constant> est disponible à partir de PHP 5.5.0, et permet une résolution de nom de classe pleinement qualifié au moment de la compilation, cela est utile pour les classes avec un namespace:
+  La constante spéciale <constant>::class</constant> permet
+  une résolution de nom de classe pleinement qualifié au moment de la compilation,
+  cela est utile pour les classes dans un espace de nom :
  </para>
- 
  <example>
   <title>Exemple d'utilisation de ::class</title>
   <programlisting role="php">
@@ -103,16 +76,14 @@ namespace foo {
 ]]>
   </programlisting>
  </example> 
- 
+
  <example>
-  <title>Exemple des expressions de constante</title>
+  <title>Exemple d'expressions pour une constante de classe</title>
   <programlisting role="php">
 <![CDATA[
 <?php
 const ONE = 1;
-
 class foo {
-    // Depuis PHP 5.6.0
     const TWO = ONE * 2;
     const THREE = ONE + self::TWO;
     const SENTENCE = 'The value of THREE is '.self::THREE;
@@ -120,24 +91,14 @@ class foo {
 ?>
 ]]>
   </programlisting>
-  <para>
-   Il est possible de fournir une expression scalaire impliquant des nombres
-   et des chaînes de caractères, et/ou des constantes dans un contexte
-   d'une classe.
-  </para>
  </example>
- <note>
-  <para>
-   Le support des expressions de constante a été ajouté en PHP 5.6.0.
-  </para>
- </note>
+ 
  <example>
-  <title>Exemple des expressions de constante</title>
+  <title>Modificateur de visibilité des constantes de classe, à partir de PHP 7.1</title>
   <programlisting role="php">
 <![CDATA[
 <?php
 class Foo {
-    // Depuis PHP 7.1.0
     public const BAR = 'bar';
     private const BAZ = 'baz';
 }
@@ -146,22 +107,16 @@ echo Foo::BAZ, PHP_EOL;
 ?>
 ]]>
   </programlisting>
-   &example.outputs.71;
-   <screen>
+  &example.outputs.71;
+  <screen>
 <![CDATA[
 bar
 
 Fatal error: Uncaught Error: Cannot access private const Foo::BAZ in …
 ]]>
-   </screen>
- <note>
-  <para>
-   À partir de PHP 7.1.0, la visibilité des constantes de classe peut être définie.
-  </para>
- </note>
+  </screen>
  </example>
 </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/decon.xml b/language/oop5/decon.xml
index 96d62432a1..ed5478da9f 100644
--- a/language/oop5/decon.xml
+++ b/language/oop5/decon.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 72880807af948704e2dd806ff38b08112d39469c Maintainer: yannick Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
 <!-- Reviewed: yes -->
-
  <sect1 xml:id="language.oop5.decon" xmlns="http://docbook.org/ns/docbook">
   <title>Constructeurs et destructeurs</title>
 
@@ -262,7 +261,7 @@ $p3 = Product::fromXml($some_xml_string);
     <void />
    </methodsynopsis>
    <para>
-    PHP 5 introduit un concept de destructeur similaire à celui d'autres langages
+    PHP possède un concept de destructeur similaire à celui d'autres langages
     orientés objet, comme le <literal>C++</literal>. La méthode destructeur est appelée
     dès qu'il n'y a plus de référence sur un objet donné, ou dans n'importe quel
     ordre pendant la séquence d'arrêt.
@@ -319,7 +318,6 @@ $obj = new MyDestructableClass();
    </note>
   </sect2>
  </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/final.xml b/language/oop5/final.xml
index a05ecf8155..d2041b02b3 100644
--- a/language/oop5/final.xml
+++ b/language/oop5/final.xml
@@ -1,15 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 1ae887f71cee9a2b171e8344cef33af689cfcde0 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
  <sect1 xml:id="language.oop5.final" xmlns="http://docbook.org/ns/docbook">
   <title>Mot-clé "final"</title>
   <para>
-   PHP 5 introduit le mot-clé "<literal>final</literal>", qui empêche
-   les classes filles de surcharger une méthode, lorsque la définition de
-   cette dernière est préfixée par le mot-clé 
-   "<emphasis>final</emphasis>". Si la classe elle-même est 
+   Le mot-clé <literal>final</literal> empêche les classes enfants de surcharger une méthode
+   en préfixant la définition avec <emphasis>final</emphasis>. Si la classe elle-même est 
    définie comme finale, elle ne pourra pas être étendue.
   </para>
   
@@ -75,7 +72,6 @@ class ChildClass extends BaseClass {
   </note>
 
  </sect1>
- 
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/interfaces.xml b/language/oop5/interfaces.xml
index 4dca989963..5116e28a9b 100644
--- a/language/oop5/interfaces.xml
+++ b/language/oop5/interfaces.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: a9a6224ca97531df0a4e4b9b16b59c3f2baf1b09 Maintainer: yannick Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
 <!-- Reviewed: yes -->
-
  <sect1 xml:id="language.oop5.interfaces" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
   <title>Interfaces</title>
   <para>
@@ -34,15 +33,13 @@
     classe ; si ce n'est pas le cas, une erreur fatale sera émise. Les classes peuvent
     implémenter plus d'une interface, en séparant chaque interface par une virgule.
    </para>
-   <note>
+   <warning>
     <para>
-     Avant PHP 5.3.9, une classe ne pouvait pas implémenter deux interfaces
-     qui spécifiaient une méthode avec le même nom, sachant que cela
-     introduisait une ambiguïté. Les versions plus récentes de PHP
-     l'autorisent, à partir du moment où les méthodes dupliquées
-     ont la même signature.
+     Une classe peut implémenter deux interfaces qui définissent une méthode
+     avec le même nom, seulement si la déclaration de la méthode est identique
+     dans les deux interfaces est identique.
     </para>
-   </note>
+   </warning>
    <note>
     <para>
      Les interfaces peuvent être étendues comme des classes, en utilisant l'opérateur
@@ -222,16 +219,14 @@ class b implements a
      </programlisting>
    </example>
    <para>
-    Une interface, avec le typage, fournit une bonne façon de vous assurer
-    qu'un objet particulier contient des méthodes particulières.
-    Reportez-vous à l'opérateur
-    <link linkend="language.operators.type">instanceof</link> et au
-    <link linkend="language.types.declarations">déclarations de type</link>.
+    Une interface, avec les déclarations de types, fournit une bonne manière
+    pour s'assurer qu'un objet particulier contient des méthodes particulières.
+    Voir l'opérateur <link linkend="language.operators.type">instanceof</link> et
+    les <link linkend="language.types.declarations">déclarations de type</link>.
    </para>
  </sect2>
 
  </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/iterations.xml b/language/oop5/iterations.xml
index 5f52f2a7a4..d90343bbfa 100644
--- a/language/oop5/iterations.xml
+++ b/language/oop5/iterations.xml
@@ -1,12 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: c2aae8928b69ed28b4e61bd7aadb869e5ccb64d8 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
  <sect1 xml:id="language.oop5.iterations" xmlns="http://docbook.org/ns/docbook">
   <title>Parcours d'objets</title>
   <para>
-   PHP fournit une façon de définir les objets de manière à ce qu'on puisse
+   PHP fournit une manière de définir les objets de manière à ce qu'on puisse
    parcourir une liste de membres, par exemple avec une structure
    &foreach;. Par défaut, toutes
    les propriétés <link linkend="language.oop5.visibility">visibles</link> 
@@ -245,14 +244,12 @@ valide :
 
   <note>
    <para>
-    Les utilisateurs de PHP 5.5 et supérieur peuvent également vouloir
-    utiliser les <link linkend="language.generators">générateurs</link>,
-    qui fournissent une alternative aux itérateurs.
+    Les <link linkend="language.generators">générateurs</link> fournissent
+    une manière alternative de définir des itérateurs.
    </para>
   </note> 
   
  </sect1>
- 
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/late-static-bindings.xml b/language/oop5/late-static-bindings.xml
index b7c375b349..ae4355b0e6 100644
--- a/language/oop5/late-static-bindings.xml
+++ b/language/oop5/late-static-bindings.xml
@@ -1,12 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: bae6b5c7e070e7969cd99e5d72f9110878a4a538 Maintainer: jpauli Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: jpauli Status: ready -->
+<!-- Reviewed: no -->
  <sect1 xml:id="language.oop5.late-static-bindings" xmlns="http://docbook.org/ns/docbook">
   <title>Late Static Bindings (Résolution statique à la volée)</title>
   <para>
-   Depuis PHP 5.3.0, PHP implémente une fonctionnalité appelée 
+   PHP implémente une fonctionnalité appelée 
    <literal>late static binding</literal>, en français la résolution
    statique à la volée, qui peut être utilisée pour référencer la classe appelée
    dans un contexte d'héritage statique.
diff --git a/language/oop5/magic.xml b/language/oop5/magic.xml
index dc6e08f089..8e7a988c50 100644
--- a/language/oop5/magic.xml
+++ b/language/oop5/magic.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 9e0f03ac354d797d1d16c0fcc1663e5e170f2727 Maintainer: yannick Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
 <!-- Reviewed: no -->
-
  <sect1 xml:id="language.oop5.magic" xmlns="http://docbook.org/ns/docbook">
   <title>Méthodes magiques</title>
   <para>
@@ -295,20 +294,6 @@ Bonjour
 ]]>
     </screen>
    </example>
-   <para>
-    Il est important de noter qu'avant PHP 5.2.0, la méthode
-    <link linkend="object.tostring">__toString()</link> n'était appelée que si elle était
-    directement combinée avec
-    <function>echo</function> ou
-    <function>print</function>.
-    Depuis PHP 5.2.0, elle est appelée dans tous les contextes de chaîne
-    de caractères (par exemple, dans <function>printf</function> avec
-    le modificateur <literal>%s</literal>), mais pas dans les contextes
-    d'autres types (par exemple, avec le modificateur <literal>%d</literal>).
-    Depuis PHP 5.2.0, convertir un objet sans la méthode
-    <link linkend="object.tostring">__toString()</link> en &string; émettra une
-    <constant>E_RECOVERABLE_ERROR</constant>.
-   </para>
   </sect2>
 
   <sect2 xml:id="language.oop5.magic.invoke">
@@ -322,11 +307,6 @@ Bonjour
     La méthode <link linkend="object.invoke">__invoke()</link> est appelée lorsqu'un script tente
     d'appeler un objet comme une fonction.
    </para>
-   <note>
-    <para>
-     Cette fonctionnalité est disponible depuis PHP 5.3.0.
-    </para>
-   </note>
    <example>
     <title>Exemple avec <link linkend="object.invoke">__invoke()</link></title>
     <programlisting role="php">
@@ -364,15 +344,14 @@ bool(true)
    
    <para>
     Cette méthode <link linkend="language.oop5.static">statique</link> est appelée
-    pour les classes exportées par la fonction <function>var_export</function>
-    depuis PHP 5.1.0.
+    pour les classes exportées par la fonction <function>var_export</function>.
    </para>
    <para>
     Le seul paramètre de cette méthode est un tableau contenant les propriétés
     exportées sous la forme <literal>array('propriété' => valeur, ...)</literal>.
    </para>
    <example>
-    <title>Utilisation de <link linkend="object.set-state">__set_state()</link> (depuis PHP 5.1.0)</title>
+    <title>Utilisation de <link linkend="object.set-state">__set_state()</link></title>
     <programlisting role="php">
 <![CDATA[
 <?php
@@ -382,7 +361,7 @@ class A
     public $var1;
     public $var2;
 
-    public static function __set_state($an_array) // Depuis PHP 5.1.0
+    public static function __set_state($an_array)
     {
         $obj = new A;
         $obj->var1 = $an_array['var1'];
@@ -443,9 +422,6 @@ object(A)#2 (2) {
     alors toutes les propriétés publiques, protégées et privées seront
     affichées.
    </para>
-   <para>
-    Cette fonctionnalité a été ajoutée en PHP 5.6.0.
-   </para>
    <example>
     <title>Utilisation de <link linkend="object.debuginfo">__debugInfo()</link></title>
     <programlisting role="php">
@@ -482,7 +458,6 @@ object(C)#1 (1) {
   </sect2>
   
  </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/object-comparison.xml b/language/oop5/object-comparison.xml
index bc2ff2918c..75bded8dba 100644
--- a/language/oop5/object-comparison.xml
+++ b/language/oop5/object-comparison.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: ead385635aff62492784d1bc32097d7a050f8207 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
   <sect1 xml:id="language.oop5.object-comparison" xmlns="http://docbook.org/ns/docbook">
    <title>Comparaison d'objets</title>
    <para>
@@ -106,7 +105,6 @@ o1 !== o2 : TRUE
     </para>
    </note>
   </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/overloading.xml b/language/oop5/overloading.xml
index e175b8661f..8de51e2d2c 100644
--- a/language/oop5/overloading.xml
+++ b/language/oop5/overloading.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 0c9761150371fbf66ded784d20b71ed4f758354e Maintainer: yannick Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
 <!-- Reviewed: no -->
-
  <sect1 xml:id="language.oop5.overloading" xmlns="http://docbook.org/ns/docbook">
   <title>Surcharge magique</title>
 
@@ -46,48 +45,6 @@
    </para>
   </note>
 
-
-  <sect2 xml:id="language.oop5.overloading.changelog">
-   &reftitle.changelog;
-   <para>
-    <informaltable>
-     <tgroup cols="2">
-      <thead>
-       <row>
-        <entry>&Version;</entry>
-        <entry>&Description;</entry>
-       </row>
-      </thead>
-      <tbody>
-       <row>
-        <entry>5.3.0</entry>
-        <entry>
-         Ajout de <link linkend="object.callstatic">__callStatic()</link>.
-         Ajout d'un avertissement pour forcer la visibilité <literal>public</literal>
-         et la déclaration non <literal>static</literal>.
-        </entry>
-       </row>
-       <row>
-        <entry>5.1.0</entry>
-        <entry>
-         Ajout de <link linkend="object.isset">__isset()</link> et de <link linkend="object.unset">__unset()</link>.
-         Ajout du support de la surcharge des propriétés privées pour
-         <link linkend="object.get">__get()</link>.
-        </entry>
-       </row>
-       <row>
-        <entry>5.0.0</entry>
-        <entry>
-         Ajout de <link linkend="object.get">__get()</link>.
-        </entry>
-       </row>
-      </tbody>
-     </tgroup>
-    </informaltable>
-   </para>
-  </sect2>
-
-
   <sect2 xml:id="language.oop5.overloading.members">
    <title>Surcharge de propriétés</title>
 
@@ -141,8 +98,8 @@
     La surcharge de propriétés ne fonctionne que dans les contextes objets.
     Ces méthodes magiques ne seront pas lancées en contexte statique.
     Par conséquent, ces méthodes ne devraient pas être déclarées comme
-    <link linkend="language.oop5.static">statiques</link>. Depuis PHP 5.3.0,
-    un avertissement est levée si une des méthodes magiques est déclarée comme statique.
+    <link linkend="language.oop5.static">statiques</link>.
+    Un avertissement est levée si une des méthodes magiques est déclarée comme statique.
    </para>
 
    <note>
@@ -198,14 +155,12 @@ class PropertyTest
         return null;
     }
 
-    /**  Depuis PHP 5.1.0  */
     public function __isset($name)
     {
         echo "Est-ce que '$name' est défini ?\n";
         return isset($this->data[$name]);
     }
 
-    /**  Depuis PHP 5.1.0  */
     public function __unset($name)
     {
         echo "Effacement de '$name'\n";
@@ -317,7 +272,6 @@ class MethodTest
              . implode(', ', $arguments). "\n";
     }
 
-    /**  Depuis PHP 5.3.0  */
     public static function __callStatic($name, $arguments)
     {
         // Note : la valeur de $name est sensible à la casse.
@@ -329,7 +283,7 @@ class MethodTest
 $obj = new MethodTest;
 $obj->runTest('dans un contexte objet');
 
-MethodTest::runTest('dans un contexte static');  // Depuis PHP 5.3.0
+MethodTest::runTest('dans un contexte static');
 ?>
 ]]>
     </programlisting>
@@ -345,7 +299,6 @@ Appel de la méthode statique 'runTest' dans un contexte static
   </sect2>
 
  </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/paamayim-nekudotayim.xml b/language/oop5/paamayim-nekudotayim.xml
index 6fa9abc3c3..cbd94acb36 100644
--- a/language/oop5/paamayim-nekudotayim.xml
+++ b/language/oop5/paamayim-nekudotayim.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 3e823762fd850c92306d53b0b25c7a7667245280 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
 <sect1 xml:id="language.oop5.paamayim-nekudotayim" xmlns="http://docbook.org/ns/docbook">
  <title>L'opérateur de résolution de portée (::)</title>
  
@@ -21,7 +20,7 @@
  </para>
  
  <para>
-  Depuis PHP 5.3.0, il est possible de référencer une classe en utilisant
+  Il est possible de référencer une classe en utilisant
   une variable. La valeur de la variable ne peut être un mot-clé (e.g. <literal>self</literal>,
   <literal>parent</literal> et <literal>static</literal>).
  </para>
@@ -44,7 +43,7 @@ class MyClass {
 }
 
 $classname = 'MyClass';
-echo $classname::CONST_VALUE; // Depuis PHP 5.3.0
+echo $classname::CONST_VALUE;
 
 echo MyClass::CONST_VALUE;
 ?>
@@ -74,7 +73,7 @@ class OtherClass extends MyClass
 }
 
 $classname = 'OtherClass';
-$classname::doubleColon(); // Depuis PHP 5.3.0
+$classname::doubleColon();
 
 OtherClass::doubleColon();
 ?>
@@ -127,7 +126,6 @@ $class->myFunc();
   </para>
  
 </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/properties.xml b/language/oop5/properties.xml
index fab7137b04..bd3c8aba66 100644
--- a/language/oop5/properties.xml
+++ b/language/oop5/properties.xml
@@ -1,24 +1,21 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 86e6094e86b84a51d00ab217ac50ce8dde33d82a Maintainer: yannick Status: ready -->
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
 <!-- Reviewed: no -->
-
 <sect1 xml:id="language.oop5.properties" xmlns="http://docbook.org/ns/docbook">
  <title>Propriétés</title>
 
  <para>
   Les variables au sein d'une classe sont appelées <emphasis>propriétés</emphasis>.
-  On peut également les retrouver sous les dénominations <emphasis>attributs</emphasis>,
-  ou <emphasis>champs</emphasis>, mais nous conservons l'appellation
-  <emphasis>propriété</emphasis> pour cette documentation.
+  On peut également les retrouver sous d'autres dénominations tel que
+  <emphasis>champs</emphasis>, mais pour cette documentation
+  <emphasis>propriété</emphasis> sera utilisé.
   Elles sont définies en utilisant un des mots-clés <literal>public</literal>,
   <literal>protected</literal>, ou <literal>private</literal>, suivi
-  optionnellement d'une déclaration de type, suivi d'une déclaration classique
-  de variable. Cette déclaration peut comprendre une initialisation, mais
-  celle-ci doit être une valeur constante, c'est à dire qu'elle doit pouvoir
-  être évaluée pendant la compilation du code, et qu'elle ne peut pas dépendre
-  d'informations déterminées lors de l'exécution de celui-ci pour pouvoir être
-  évaluée.
+  optionnellement, à partir de PHP 7.4, d'une déclaration de type,
+  suivi d'une déclaration classique de variable.
+  Cette déclaration peut comprendre une initialisation, mais celle-ci doit
+  être une valeur <link linkend="language.constants">constante</link>
  </para>
  <para>
   Référez-vous à <xref linkend="language.oop5.visibility" /> pour plus
@@ -28,24 +25,14 @@
  </para>
  <note>
   <para>
-   Afin de maintenir la rétrocompatibilité avec PHP 4, PHP 5 continue d'accepter 
-   l'usage du mot-clé <literal>var</literal> pour la déclaration de propriétés en
-   remplacement de (ou en plus de) <literal>public</literal>, <literal>protected</literal>,
-   et <literal>private</literal>. Cependant, <literal>var</literal> n'est plus requis
-   par le modèle objet de PHP 5. Pour les versions allant de PHP 5.0 à 5.1.3, l'usage de
-   <literal>var</literal> était considéré comme obsolète et déclenchait un
-   avertissement de niveau <constant>E_STRICT</constant>, mais depuis PHP 5.1.3,
-   l'usage n'est plus obsolète et ne déclenche plus d'avertissement.
-  </para>
-  <para>
-   Si vous déclarez une propriété en utilisant <literal>var</literal> au lieu
-   de <literal>public</literal>, <literal>protected</literal>, ou
-   <literal>private</literal>, alors PHP 5 traitera la propriété comme si elle avait
+   Une manière alternative et non recommandé de déclarer une propriété de classe,
+   car c'est pour maintenir la la rétrocompatibilité avec PHP 4,
+   est d'utiliser le mot-clé <literal>var</literal>.
+   La propriété sera traitée comme si elle avait
    été déclarée comme <literal>public</literal>.
   </para>
  </note>
  <para>
-  
   Au sein des méthodes de classes, les propriétés non statiques peuvent être
   appelées en utilisant la syntaxe <literal>-&gt;</literal> (opérateur de l'objet) :
   <varname>$this-&gt;property</varname> (où <literal>property</literal> est le
@@ -72,13 +59,10 @@
 <?php
 class SimpleClass
 {
-   // À partir de PHP 5.6.0:
    public $var1 = 'hello ' . 'world';
-   // Depuis PHP 5.3.0:
    public $var2 = <<<EOD
 hello world
 EOD;
-   // À partir de PHP 5.6.0:
    public $var3 = 1+2;
    // déclaration de propriété invalide :
    public $var4 = self::myStaticMethod();
@@ -86,9 +70,7 @@ EOD;
 
    // Déclarations valides de propriétés :
    public $var6 = myConstant;
-   public $var7 = array(true, false);
-
-   // À partir de PHP 5.3.0 :
+   public $var7 = [true, false];
    public $var8 = <<<'EOD'
 hello world
 EOD;
@@ -107,46 +89,13 @@ EOD;
   </para>
  </note>
 
-  <sect2 xml:id="language.oop5.properties.heredoc-nowdoc">
-   <title>Heredoc et Nowdoc</title>
-   <para>
-  Depuis PHP 5.3.0 
-  <link linkend="language.types.string.syntax.heredoc">heredoc</link> et 
-  <link linkend="language.types.string.syntax.nowdoc">nowdoc</link>
-  peuvent être utilisées dans n'importe quel contexte de données statiques,
-    y compris la déclaration de propriétés.
-  <example>
-   <title>Exemple d'utilisation de la syntaxe nowdoc pour initialiser une propriété</title>
-   <programlisting role="php">
-<![CDATA[
-<?php
-class foo {
-   // Depuis PHP 5.3.0
-   public $bar = <<<'EOT'
-bar
-EOT;
-   public $baz = <<<EOT
-baz
-EOT;
-}
-?>
-]]>
-   </programlisting>
-  </example>
- </para>
- <note>
-  <para>
-   Le support de la syntaxe Nowdoc et Heredoc a été ajouté en PHP 5.3.0.
-  </para>
- </note>
-  </sect2>
-  
   <sect2 xml:id="language.oop5.properties.typed-properties">
    <title>Déclarations des types</title>
 
   <para>
    À partir de PHP 7.4.0, les définitions de propriétés peuvent inclure une
-   déclaration de type, avec l'exception du type <literal>callable</literal>.
+   <xref linkend="language.types.declarations" />,
+   avec l'exception du type <literal>callable</literal>.
    <example>
     <title>Exemple de propriétés typées</title>
     <programlisting role="php">
@@ -242,108 +191,9 @@ Fatal error: Uncaught Error: Typed property Shape::$numberOfSides must not be ac
      </screen>
     </example>
    </para>
-
-   <sect3 xml:id="language.oop5.properties.typed-properties.valid-types">
-    <title>Types de propriété valides</title>
-    <informaltable>
-     <tgroup cols="3">
-      <thead>
-       <row>
-        <entry>Type</entry>
-        <entry>Description</entry>
-        <entry>version PHP minimale</entry>
-       </row>
-      </thead>
-      <tbody>
-       <row>
-        <entry><type>bool</type></entry>
-        <entry>
-         La propriété doit être une valeur <type>booléen</type>.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry><type>int</type></entry>
-        <entry>
-         La propriété doit être une valeur <type>int</type>.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry><type>float</type></entry>
-        <entry>
-         La propriété doit être une nombre à virgule flottante.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry><type>string</type></entry>
-        <entry>
-         La propriété doit être une <type>string</type>.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry><type>array</type></entry>
-        <entry>
-         La propriété doit être un <type>array</type>.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry><literal>object</literal></entry>
-        <entry>
-         La propriété doit être un <type>object</type>.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry><literal>iterable</literal></entry>
-        <entry>
-         La propriété doit être soit un <type>array</type> ou un &instanceof;
-         <interfacename>Traversable</interfacename>.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry><literal>self</literal></entry>
-        <entry>
-         La propriété doit être un &instanceof; de la même classe
-         dans laquelle la propriété a été définie.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry><literal>parent</literal></entry>
-        <entry>
-         La propriété doit être un &instanceof; de la classe parent
-         de la classe dans laquelle la propriété a été définie.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry>Nom de la classe/interface</entry>
-        <entry>
-         La propriété doit être un &instanceof; de la classe ou de l'interface
-         fournie.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-       <row>
-        <entry>?type</entry>
-        <entry>
-         La propriété doit être du type spécifié, ou &null;.
-        </entry>
-        <entry>PHP 7.4.0</entry>
-       </row>
-      </tbody>
-     </tgroup>
-    </informaltable>
-   </sect3>
   </sect2>
 
  </sect1>
- 
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/references.xml b/language/oop5/references.xml
index f309175171..0dbc9efb70 100644
--- a/language/oop5/references.xml
+++ b/language/oop5/references.xml
@@ -1,20 +1,19 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 5c05004b296957e2744d32ebfacc362871422b66 Maintainer: jpauli Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: jpauli Status: ready -->
+<!-- Reviewed: no -->
  <sect1 xml:id="language.oop5.references" xmlns="http://docbook.org/ns/docbook">
   <title>Objets et références</title>
   <para>
-   Un des piliers de la POO de PHP 5 est le fait que les 
+   Un des piliers de la POO de PHP est le fait que les 
    "objets sont passés par référence par défaut". Ce n'est pas complètement vrai. 
    Cette section rectifie cette généralisation avec quelques exemples.
   </para>
 
   <para>
    Une référence PHP est un alias, qui permet à deux variables différentes de
-   représenter la même valeur. Depuis PHP 5, une variable objet
-   ne contient plus l'objet en lui-même. Elle contient seulement un identifiant
+   représenter la même valeur. Dans PHP, une variable objet
+   ne contient plus l'objet en lui-même comme valeur. Elle contient seulement un identifiant
    d'objet, qui permet aux accesseurs d'objets de trouver cet objet.
    Lorsque l'objet est utilisé comme argument, retourné par une fonction,
    ou assigné à une autre variable, les différentes variables ne sont pas
diff --git a/language/oop5/serialization.xml b/language/oop5/serialization.xml
index 610eb3e076..e7fc5cf7ac 100644
--- a/language/oop5/serialization.xml
+++ b/language/oop5/serialization.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 1fc0b05670b5f6ad20e3a4aad30a491eca7a2659 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
 <sect1 xml:id="language.oop5.serialization" xmlns="http://docbook.org/ns/docbook">
  <title>Sérialisation d'objets</title>
  <title>Sérialiser des objets - des objets en session</title>
@@ -68,17 +67,7 @@
 ]]>
   </programlisting>
  </informalexample>
- 
- <para>
-  Si une application utilise le système de sessions et enregistre des objets à l'aide
-  de <function>session_register</function>, ces objets sont sérialisés automatiquement
-  à la fin de chaque page PHP, et sont désérialisés automatiquement à chaque page suivante.
-  Cela signifie qu'une fois mis en session, ces objets peuvent apparaître dans n'importe
-  quelle page de l'application où la session est démarrée.
-  Notez cependant que la fonction <function>session_register</function> est supprimée
-  depuis PHP 5.4.0
- </para> 
- 
+
  <para>
   Si une application sérialise des objets, il est fortement recommandé, pour son usage
   futur, que l'application inclut les définitions des classes des objets sérialisés
@@ -104,7 +93,6 @@
  </para>
  
 </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/static.xml b/language/oop5/static.xml
index 9b8e32ce03..5cd01bd472 100644
--- a/language/oop5/static.xml
+++ b/language/oop5/static.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 7e52ec86851a62d1d00109ccffa5dab5c73e5cc2 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
  <sect1 xml:id="language.oop5.static" xmlns="http://docbook.org/ns/docbook">
   <title>Statique</title>
 
@@ -26,35 +25,23 @@
    classe (bien que ce soit possible pour une méthode statique).
   </para>
 
-  <para>
-   Pour des raisons de compatibilité avec PHP 4, si aucune déclaration de
-   <link linkend="language.oop5.visibility">visibilité</link>
-   n'est spécifiée, alors la propriété ou la méthode sera automatiquement
-   considérée comme <literal>public</literal>.
-  </para>
-  
   <sect2 xml:id="language.oop5.static.methods">
-   <title>Static methods</title>
+   <title>Méthodes statiques</title>
 
-  <para>
-   Comme les méthodes statiques peuvent être appelées sans qu'une instance
-   d'objet n'ait été créée, la pseudo-variable <varname>$this</varname> n'est pas
-   disponible dans les méthodes déclarées comme statiques.
-  </para>
-
-   <caution>
-    <simpara>
-     En PHP 5, l'appel statique de méthodes non-statiques émet une erreur de niveau
-     <constant>E_STRICT</constant>.
-    </simpara>
-   </caution>
+   <para>
+    Comme les méthodes statiques peuvent être appelées sans qu'une instance
+    d'objet n'ait été créée, la pseudo-variable <varname>$this</varname> n'est pas
+    disponible dans les méthodes déclarées comme statiques.
+   </para>
 
    <warning>
-    <simpara>
-     En PHP 7, l'appel statique de méthodes non-statiques est déconseillé et 
-     génèrera une alerte <constant>E_DEPRECATED</constant>. La prise en charge 
-     de l'appel statique de méthodes non-statiques sera supprimé dans le futur.
-    </simpara>
+    <para>
+     Appeler une méthode non-statique statiquement lancera une <classname>Error</classname>.
+    </para>
+    <para>
+     Antérieur à PHP 8.0.0, appeler une méthode non-statique statiquement est obsolète,
+     et lèvera un avertissement <constant>E_DEPRECATED</constant>.
+    </para>
    </warning>
 
    <example>
@@ -71,7 +58,7 @@ class Foo
 
 Foo::aStaticMethod();
 $classname = 'Foo';
-$classname::aStaticMethod(); // À partir de PHP 5.3.0
+$classname::aStaticMethod();
 ?>
 ]]>
     </programlisting>
@@ -80,22 +67,21 @@ $classname::aStaticMethod(); // À partir de PHP 5.3.0
   
   <sect2 xml:id="language.oop5.static.properties">
    <title>Propriétés statiques</title>
-     <para>
-      On ne peut pas accéder à des propriétés statiques à travers l'objet en
-      utilisant l'opérateur <literal>-&gt;</literal>.
-     </para>
+   <para>
+    On ne peut pas accéder à des propriétés statiques à travers l'objet en
+    utilisant l'opérateur <literal>-&gt;</literal>.
+   </para>
+
+   <para>
+    Comme toute autre variable statique PHP, les propriétés statiques peuvent
+    être initialisé avec les mêmes règles que les expressions &const; :
+    certaines expressions limité sont possible, sous la provision qu'elles
+    peuvent être évalué lors de la compilation.
+   </para>
 
   <para>
-   Comme n'importe quelle autre variable PHP statique, les propriétés statiques ne peuvent être
-   initialisées qu'en utilisant un littéral ou une constante ; les expressions ne sont pas
-   permises. Ainsi, vous pouvez initialiser une propriété statique avec un
-   entier ou un tableau, mais pas avec une autre variable, ni avec la valeur de retour d'une
-   fonction, ni avec un objet.
-  </para>
-
-  <para>
-   Depuis PHP 5.3.0, il est possible de référencer la classe en utilisant
-   une variable. La valeur de la variable ne peut être un mot-clé (par exemple <literal>self</literal>,
+   Il est possible de référencer la classe en utilisant une variable.
+   La valeur de la variable ne peut être un mot-clé (par exemple <literal>self</literal>,
    <literal>parent</literal> et <literal>static</literal>).
   </para>
 
@@ -129,7 +115,7 @@ print $foo->my_static . "\n";      // "Propriété" my_static non définie
 
 print $foo::$my_static . "\n";
 $classname = 'Foo';
-print $classname::$my_static . "\n"; // Depuis PHP 5.3.0
+print $classname::$my_static . "\n";
 
 print Bar::$my_static . "\n";
 $bar = new Bar();
@@ -141,7 +127,6 @@ print $bar->fooStatic() . "\n";
   </sect2>
   
  </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/traits.xml b/language/oop5/traits.xml
index 14a032c240..706183d520 100644
--- a/language/oop5/traits.xml
+++ b/language/oop5/traits.xml
@@ -1,12 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 796ebb7fa127283377acf69fa9a9c3637ae2cd97 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes Maintainer: itanea -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no Maintainer: itanea -->
 <sect1 xml:id="language.oop5.traits" xmlns="http://docbook.org/ns/docbook">
  <title>Traits</title>
  <para>
-  Depuis PHP 5.4.0, PHP supporte une manière de réutiliser le code appelée Traits.
+  PHP implémente une manière pour réutiliser du code appelée Traits.
  </para>
  <para>
   Les traits sont un mécanisme de réutilisation de code dans un langage à héritage simple
@@ -196,7 +195,7 @@ Hello World!
    </para>
    <para>
     La classe Aliased_Talker utilise l'opérateur <literal>as</literal>
-    pour être capable d'utiliser l'implementation bigTalk de B sous un alias
+    pour être capable d'utiliser l'implémentation bigTalk de B sous un alias
     supplémentaire <literal>talk</literal>.
    </para> 
    <programlisting role="php">
@@ -238,13 +237,6 @@ class Aliased_Talker {
 ]]>
    </programlisting>
   </example>
-  <note>
-    <para>
-     Antérieur à PHP 7.0, définir une propriété dans une classe avec le même nom que dans un trait
-     émettait une erreur <constant>E_STRICT</constant> si la définition de classe était compatible
-     (même visibilité et valeur initiale).
-    </para>
-   </note>
  </sect2>
  
  <sect2 xml:id="language.oop5.traits.visibility">
@@ -450,8 +442,6 @@ $example->x;
      Si un trait définit une propriété, alors la classe ne peut pas définir une 
      propriété de même nom sauf si elle est compatible (même visibilité et valeur 
      initiale), sinon une erreur fatale est émise.
-     Avant PHP 7.0.0, définir une propriété dans une classe avec la même visibilité 
-     et valeur initiale que dans le trait, émettait une notice E_STRICT.
     </para>
    <example xml:id="language.oop5.traits.properties.conflicts">
     <title>Résolution des conflits</title>
@@ -475,7 +465,6 @@ class PropertiesExample {
   </sect2>
  
 </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
diff --git a/language/oop5/visibility.xml b/language/oop5/visibility.xml
index 41614186f1..553105f2d9 100644
--- a/language/oop5/visibility.xml
+++ b/language/oop5/visibility.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 70fb482c26ecfb7b95b1484ebb73a14f272c9871 Maintainer: yannick Status: ready -->
-<!-- Reviewed: yes -->
-
+<!-- EN-Revision: a9edd62d087ab1eb6292c795b7256e14ff9f1234 Maintainer: yannick Status: ready -->
+<!-- Reviewed: no -->
  <sect1 xml:id="language.oop5.visibility" xmlns="http://docbook.org/ns/docbook">
   <title>Visibilité</title>
   <para>
@@ -81,15 +80,6 @@ $obj2->printHello(); // Affiche Public2, Protected2 et Undefined (Indéfini)
      </programlisting>
     </example>
    </para>
-   <note>
-    <simpara>
-     La manière de déclarer une variable comme en PHP 4, avec le mot-clé
-     <emphasis>var</emphasis>, est toujours supportée pour
-     des raisons de compatibilité (en tant que synonyme du mot-clé public).
-     En PHP 5 avant PHP 5.1.3, son utilisation générait une erreur de niveau
-     <constant>E_STRICT</constant>.
-    </simpara>
-   </note>
   </sect2>
   
   <sect2 xml:id="language.oop5.visiblity-methods">
@@ -314,7 +304,6 @@ Accès à la méthode privée.
    </example>
   </sect2>
  </sect1>
-
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml