php-doc-en/reference/ds/ds.hashable.xml

84 lines
2.5 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<phpdoc:classref xml:id="class.ds-hashable" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>The Hashable interface</title>
<titleabbrev>Hashable</titleabbrev>
<partintro>
<!-- {{{ Ds\Hashable intro -->
<section xml:id="ds-hashable.intro">
&reftitle.intro;
<para>
Hashable is an interface which allows objects to be used as keys.
Its an alternative to <function>spl_object_hash</function>,
which determines an objects hash based on its handle:
this means that two objects that are considered equal by an implicit
definition would not treated as equal because they are not the same instance.
</para>
<para>
<function>hash</function> is used to return a scalar value to be used as
the object's hash value, which determines where it goes in the hash table.
While this value does not have to be unique, objects which are equal must
have the same hash value.
</para>
<para>
<function>equals</function> is used to determine if two objects are equal.
It's guaranteed that the comparing object will be an instance of the same class
as the subject.
</para>
</section>
<!-- }}} -->
<section xml:id="ds-hashable.synopsis">
&reftitle.interfacesynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass><classname>Ds\Hashable</classname></ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>Ds\Hashable</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.ds-hashable')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])" />
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
&reference.ds.ds.entities.hashable;
</phpdoc:classref>
<!-- 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
-->