1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-24 15:32:36 +01:00
Files
Gina Peter Banyard c5e75fb16e Partial sync SPL with EN
Some XInclude failures for now but will resolve soon
2024-02-08 00:32:34 +00:00

139 lines
3.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: d51166ca16fda8e766849505b84f9306ef443f71 Maintainer: seros Status: ready -->
<!-- Reviewed: yes Maintainer: seros -->
<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>
Calcular un identificador único (hash) para los objetos contenidos
</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>
Este método calcula un identificador para los objetos añadidos a un
objeto <classname>SplObjectStorage</classname>.
</para>
<para>
La implementación en la clase <classname>SplObjectStorage</classname> devuelve
el mismo valor que la función <function>spl_object_hash</function>.
</para>
<para>
El objeto de almacenamiento nunca contendrá más de un objeto con el mismo identificador.
Por lo tanto, se puede usar para implementar un conjunto (una colección de valores únicos)
donde la cualidad de un objeto de ser único está determinada por el valor
devuelto por esta función.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>object</parameter></term>
<listitem>
<para>
El objeto cuyo identificador va a ser calculado.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un <type>string</type> con el identificador calculado.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Se lanza una excepción de tipo <classname>RuntimeException</classname> cuando el valor
devuelto no es un <type>string</type>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <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 es considerado igual a $o1, por lo que el valor es reemplazado
$s[$o2] = 2;
$s[$o3] = 3;
//estos objetos son considerados iguales a los objetos anteriores
//por lo que se pueden usar para acceder a los valores almacenados en ellos
$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
-->