1
0
mirror of https://github.com/php/doc-fr.git synced 2026-04-27 00:38:06 +02:00
Files
Louis-Arnaud 8da8c3fe7a sync EN-Revision hashes and apply pending EN changes (#2465)
* sync EN-Revision hashes and apply pending EN changes
2026-02-12 11:04:51 +01:00

171 lines
6.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 44b94f51050d4c9c3a62a88384d4042326a31cb0 Maintainer: Fan2Shrek Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="reflectionclass.resetaslazyghost" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>ReflectionClass::resetAsLazyGhost</refname>
<refpurpose>Réinitialise un objet et le marque comme paresseux</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ReflectionClass">
<modifier>public</modifier> <type>void</type><methodname>ReflectionClass::resetAsLazyGhost</methodname>
<methodparam><type>object</type><parameter>object</parameter></methodparam>
<methodparam><type>callable</type><parameter>initializer</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<simpara>
Réinitialise un <parameter>objet</parameter> existant et le marque comme paresseux.
</simpara>
<simpara>
Le destructeur de l'objet est appelé (s'il existe) sauf si le drapeau
<constant>ReflectionClass::SKIP_DESTRUCTOR</constant> est spécifié. Dans le cas
particulier où l'objet est un proxy initialisé, l'instance réelle est détachée
du proxy. Si l'instance réelle n'est plus référencée ailleurs, son destructeur
est appelé indépendamment du
drapeau <constant>SKIP_DESTRUCTOR</constant>.
</simpara>
<simpara>
Les propriétés dynamiques sont supprimées, et la valeur des propriétés
déclarées sur la classe est jetée comme si <function>unset</function> était
appelée, et marquée comme paresseuse. Cela implique que si l'objet est une
instance d'une sous-classe avec des propriétés supplémentaires, ces propriétés
ne sont pas modifiées et ne sont pas marquées comme paresseuses.
Les <link linkend="language.oop5.properties.readonly-properties">propriétés
en lecture seule</link> ne sont pas modifiées et ne sont pas marquées comme
paresseuses si elles sont <literal>final</literal> ou si la classe elle-même
est <literal>final</literal>.
</simpara>
<simpara>
Si aucune propriété n'est marquée comme paresseuse, l'objet n'est pas marqué comme paresseux. Voir
aussi
<link linkend="language.oop5.lazy-objects.lifecycle">Cycle de vie des objets
paresseux</link>.
</simpara>
<simpara>
Sinon, après l'appel de cette méthode, le comportement de l'objet est le même
qu'un objet créé par
<methodname>ReflectionClass::newLazyGhost</methodname> (sauf pour
les propriétés de sous-classe et les propriétés en lecture seule, comme décrit ci-dessus).
</simpara>
<simpara>
L'objet n'est pas remplacé par un autre, et son identité reste inchangée. Les
fonctionnalités telles que <function>spl_object_id</function>,
<function>spl_object_hash</function>,
<classname>SplObjectStorage</classname>, <classname>WeakMap</classname>,
<classname>WeakReference</classname>, ou
<link linkend="language.oop5.object-comparison">l'opérateur d'identité
(<literal>===</literal>)</link> ne sont pas affectées.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>object</parameter></term>
<listitem>
<simpara>
Un objet non paresseux, ou un objet paresseux initialisé.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>initializer</parameter></term>
<listitem>
<simpara>
Une fonction de rappel avec la même signature et le même but que dans
<methodname>ReflectionClass::newLazyGhost</methodname>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="reflectionclass.resetaslazyghost.parameters.options">
<term><parameter>options</parameter></term>
<listitem>
<para>
<parameter>options</parameter> peut être une combinaison des drapeaux
suivants :
<variablelist>
<varlistentry>
<term>
<constant>ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE</constant>
</term>
<listitem>
<simpara>
Par défaut, la sérialisation d'un objet paresseux déclenche son
initialisation. Définir ce drapeau empêche l'initialisation, permettant
aux objets paresseux d'être sérialisés sans être initialisés.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>ReflectionClass::SKIP_DESTRUCTOR</constant>
</term>
<listitem>
<simpara>
Par défaut, le destructeur de l'objet est appelé (s'il existe) avant de
le marquer comme paresseux. Ce drapeau désactive ce comportement,
permettant aux objets d'être réinitialisés comme paresseux sans appeler
le destructeur.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
&return.void;
</simpara>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<simpara>
Une <classname>ReflectionException</classname> si l'objet est paresseux et non
initialisé.
</simpara>
<simpara>
Une <classname>Error</classname> si l'objet est en cours d'initialisation, ou si
les propriétés de l'objet sont itérées avec
<link linkend="control-structures.foreach"><literal>foreach</literal></link>.
</simpara>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>ReflectionClass::newLazyGhost</methodname></member>
<member><methodname>ReflectionClass::resetAsLazyProxy</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->