<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/reserved.attributes.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'class.returntypewillchange.php',
    1 => 'ReturnTypeWillChange',
    2 => 'La classe ReturnTypeWillChange',
  ),
  'up' => 
  array (
    0 => 'reserved.attributes.php',
    1 => 'Attributs pr&eacute;d&eacute;finis',
  ),
  'prev' => 
  array (
    0 => 'override.construct.php',
    1 => 'Override::__construct',
  ),
  'next' => 
  array (
    0 => 'returntypewillchange.construct.php',
    1 => 'ReturnTypeWillChange::__construct',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'language/predefined/attributes/returntypewillchange.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.returntypewillchange.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.returntypewillchange" class="reference">
 <h1 class="title">La classe ReturnTypeWillChange</h1>
 

 <div class="partintro"><p class="verinfo">(PHP 8 &gt;= 8.1.0)</p>

  <div class="section" id="returntypewillchange.intro">
   <h2 class="title">Introduction</h2>
   <p class="simpara">
    À partir de PHP 8.1.0, une phase provisoire de transition vers les déclarations
    de type de retour pour les méthodes des classes internes a débuté.
   </p>

   <p class="simpara">
    La plupart des méthodes internes non finales exigent désormais que les méthodes de surcharge déclarent
    un type de retour compatible. Dans le cas contraire, un avis d&#039;obsolescence est émis lors de la
    validation de l&#039;héritage, avertissant que la signature enfreint les règles de covariance.
   </p>

   <p class="simpara">
    Dans une version future de PHP, la vérification des signatures de méthodes deviendra stricte,
    et les incompatibilités provoqueront une erreur fatale.
   </p>

   <p class="simpara">
    Dans le cas où le type de retour ne peut pas être déclaré pour une méthode de surcharge en raison de
    problèmes de compatibilité entre les versions de PHP, ou lorsque la méthode de surcharge déclare
    un type de retour incompatible, un attribut <code class="code">#[\ReturnTypeWillChange]</code> peut être ajouté
    pour taire l&#039;avis d&#039;obsolescence.
   </p>

   <div class="warning"><strong class="warning">Avertissement</strong>
    <p class="simpara">
     Lors de la surcharge de méthodes définies dans des classes définies par l&#039;utilisateur, les types
     de retour sont vérifiés strictement. Une erreur fatale est émise en cas d&#039;incompatibilité, même
     si la méthode de surcharge est marquée avec l&#039;attribut.
    </p>

    <p class="simpara">
     L&#039;attribut <span class="classname"><strong class="classname">ReturnTypeWillChange</strong></span> supprime les avis d&#039;obsolescence
     <em>uniquement</em> durant la phase de type de retour provisoire.
     Une fois la vérification stricte des types imposée, l&#039;attribut cessera de fonctionner et une
     incompatibilité dans la signature de la méthode de surcharge d&#039;une classe interne provoquera
     une erreur fatale.
    </p>
   </div>
  </div>

  <div class="section" id="returntypewillchange.synopsis">
   <h2 class="title">Synopsis de la classe</h2>

   <div class="classsynopsis"><div class="classsynopsisinfo">
    
     <span class="attribute">#[<a href="class.attribute.php">\Attribute</a>]</span><br>
     <span class="modifier">final</span>
     <span class="modifier">class</span> <strong class="classname"><strong class="classname">ReturnTypeWillChange</strong></strong>
     {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Méthodes */</div>
    <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><a href="returntypewillchange.construct.php" class="methodname">__construct</a></span>()</div>

   }</div>

  </div>

  <div class="section" id="returntypewillchange.seealso">
   <h2 class="title">Voir aussi</h2>
   <p class="para"><a href="language.attributes.php" class="link">Aperçu des attributs</a></p>
  </div>

 </div>

 




 


<h2>Sommaire</h2><ul class="chunklist chunklist_reference"><li><a href="returntypewillchange.construct.php">ReturnTypeWillChange::__construct</a> — Construit une nouvelle instance de l'attribut ReturnTypeWillChange</li></ul>
</div>
<?php manual_footer($setup); ?>