<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <phpdoc:classref xml:id="class.splobjectstorage" 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 SplObjectStorage class</title> <titleabbrev>SplObjectStorage</titleabbrev> <partintro> <!-- {{{ SplObjectStorage intro --> <section xml:id="splobjectstorage.intro"> &reftitle.intro; <para> The SplObjectStorage class provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects. </para> </section> <!-- }}} --> <section xml:id="splobjectstorage.synopsis"> &reftitle.classsynopsis; <!-- {{{ Synopsis --> <classsynopsis> <ooclass><classname>SplObjectStorage</classname></ooclass> <!-- {{{ Class synopsis --> <classsynopsisinfo> <ooclass> <classname>SplObjectStorage</classname> </ooclass> <oointerface> <interfacename>Countable</interfacename> </oointerface> <oointerface> <interfacename>Iterator</interfacename> </oointerface> <oointerface> <interfacename>Traversable</interfacename> </oointerface> <oointerface> <interfacename>Serializable</interfacename> </oointerface> <oointerface> <interfacename>ArrayAccess</interfacename> </oointerface> </classsynopsisinfo> <!-- }}} --> <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo> <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.splobjectstorage')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" /> </classsynopsis> <!-- }}} --> </section> <!-- {{{ splobjectstorage examples --> <section xml:id="splobjectstorage.examples"> &reftitle.examples; <para> <example> <title><classname>SplObjectStorage</classname> as a set</title> <programlisting role="php"> <![CDATA[ <?php // As an object set $s = new SplObjectStorage(); $o1 = new StdClass; $o2 = new StdClass; $o3 = new StdClass; $s->attach($o1); $s->attach($o2); var_dump($s->contains($o1)); var_dump($s->contains($o2)); var_dump($s->contains($o3)); $s->detach($o2); var_dump($s->contains($o1)); var_dump($s->contains($o2)); var_dump($s->contains($o3)); ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ bool(true) bool(true) bool(false) bool(true) bool(false) bool(false) ]]> </screen> </example> <example> <title><classname>SplObjectStorage</classname> as a map</title> <programlisting role="php"> <![CDATA[ <?php // As a map from objects to data $s = new SplObjectStorage(); $o1 = new StdClass; $o2 = new StdClass; $o3 = new StdClass; $s[$o1] = "data for object 1"; $s[$o2] = array(1,2,3); if (isset($s[$o2])) { var_dump($s[$o2]); } ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } ]]> </screen> </example> </para> </section> <!-- }}} --> </partintro> &reference.spl.entities.splobjectstorage; </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 -->