1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-24 15:12:13 +01:00
Files
2022-12-24 12:52:02 +00:00

139 lines
3.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d51166ca16fda8e766849505b84f9306ef443f71 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="splobjectstorage.gethash" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>SplObjectStorage::getHash</refname>
<refpurpose>Calcule un identifiant unique pour les objets contenus</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="SplObjectStorage">
<modifier>public</modifier> <type>string</type><methodname>SplObjectStorage::getHash</methodname>
<methodparam><type>object</type><parameter>object</parameter></methodparam>
</methodsynopsis>
<para>
Cette méthode calcule un identifiant pour les objets ajoutés
dans l'objet <classname>SplObjectStorage</classname>.
</para>
<para>
L'implémentation dans <classname>SplObjectStorage</classname> retourne
la même valeur que <function>spl_object_hash</function>.
</para>
<para>
Cet objet de stockage ne doit pas contenir plus d'un objet avec le même identifiant.
Aussi, il peut être utilisé pour implémenter un jeu (une collection de valeurs uniques)
où la qualité d'un objet unique est déterminé par la valeur retournée par
cette fonction.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>object</parameter></term>
<listitem>
<para>
L'objet dont nous devons calculer l'identifiant.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Une &string; représentant l'identifiant calculé.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Une exception <classname>RuntimeException</classname> est émise
lorsque la valeur retournée n'est pas une &string;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>SplObjectStorage::getHash</function></title>
<programlisting role="php">
<![CDATA[
<?php
class OneSpecimenPerClassStorage extends SplObjectStorage {
public function getHash($o) {
return get_class($o);
}
}
class A {}
$s = new OneSpecimenPerClassStorage;
$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new A;
$s[$o1] = 1;
//$o2 est considéré comme égal à $o1, et donc, la valeur est remplacée
$s[$o2] = 2;
$s[$o3] = 3;
//ceci est considéré comme égal aux objets précédents
// aussi, ils peuvent être utilisés pour accéder aux valeurs y étant stockées
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
2
3
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>spl_object_hash</function></member>
</simplelist>
</para>
</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
-->