<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>The SplEnum class</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="class.splfloat.html">SplFloat</a></div> <div class="next" style="text-align: right; float: right;"><a href="splenum.getconstlist.html">SplEnum::getConstList</a></div> <div class="up"><a href="book.spl-types.html">SPL Types</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="class.splenum" class="reference"> <h1 class="title">The SplEnum class</h1> <div class="partintro"><p class="verinfo">(PECL spl_types >= 0.1.0)</p> <div class="section" id="splenum.intro"> <h2 class="title">Introduction</h2> <p class="para"> SplEnum gives the ability to emulate and create enumeration objects natively in PHP. </p> </div> <div class="section" id="splenum.synopsis"> <h2 class="title">Class synopsis</h2> <div class="classsynopsis"> <div class="ooclass"></div> <div class="classsynopsisinfo"> <span class="ooclass"> <strong class="classname">SplEnum</strong> </span> <span class="ooclass"> <span class="modifier">extends</span> <a href="class.spltype.html" class="classname">SplType</a> </span> {</div> <div class="classsynopsisinfo classsynopsisinfo_comment">/* Constants */</div> <div class="fieldsynopsis"> <span class="modifier">const</span> <span class="type">NULL</span> <var class="fieldsynopsis_varname"><a href="class.splenum.html#splenum.constants.default"><var class="varname">__default</var></a></var> <span class="initializer"> = null</span> ;</div> <div class="classsynopsisinfo classsynopsisinfo_comment">/* Methods */</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">array</span> <span class="methodname"><a href="splenum.getconstlist.html" class="methodname">getConstList</a></span> ([ <span class="methodparam"><span class="type">bool</span> <code class="parameter">$include_default</code><span class="initializer"> = false</span></span> ] )</div> <div class="classsynopsisinfo classsynopsisinfo_comment">/* Inherited methods */</div> <div class="methodsynopsis dc-description"> <span class="methodname"><a href="spltype.construct.html" class="methodname">SplType::__construct</a></span> ([ <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$initial_value</code></span> [, <span class="methodparam"><span class="type">bool</span> <code class="parameter">$strict</code></span> ]] )</div> }</div> </div> <div class="section" id="splenum.constants"> <h2 class="title">Predefined Constants</h2> <dl> <dt id="splenum.constants.default"> <span class="term"><strong><code>SplEnum::__default</code></strong></span> <dd> <p class="para"/> </dd> </dt> </dl> </div> <div class="section" id="splenum.examples"> <h2 class="title">Examples</h2> <p class="para"> <div class="example" id="example-4000"> <p><strong>Example #1 <strong class="classname">SplEnum</strong> usage example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">Month </span><span style="color: #007700">extends </span><span style="color: #0000BB">SplEnum </span><span style="color: #007700">{<br /> const </span><span style="color: #0000BB">__default </span><span style="color: #007700">= </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">January</span><span style="color: #007700">;<br /> <br /> const </span><span style="color: #0000BB">January </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">February </span><span style="color: #007700">= </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">March </span><span style="color: #007700">= </span><span style="color: #0000BB">3</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">April </span><span style="color: #007700">= </span><span style="color: #0000BB">4</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">May </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">June </span><span style="color: #007700">= </span><span style="color: #0000BB">6</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">July </span><span style="color: #007700">= </span><span style="color: #0000BB">7</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">August </span><span style="color: #007700">= </span><span style="color: #0000BB">8</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">September </span><span style="color: #007700">= </span><span style="color: #0000BB">9</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">October </span><span style="color: #007700">= </span><span style="color: #0000BB">10</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">November </span><span style="color: #007700">= </span><span style="color: #0000BB">11</span><span style="color: #007700">;<br /> const </span><span style="color: #0000BB">December </span><span style="color: #007700">= </span><span style="color: #0000BB">12</span><span style="color: #007700">;<br />}<br /><br />echo new </span><span style="color: #0000BB">Month</span><span style="color: #007700">(</span><span style="color: #0000BB">Month</span><span style="color: #007700">::</span><span style="color: #0000BB">June</span><span style="color: #007700">) . </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br />try {<br /> new </span><span style="color: #0000BB">Month</span><span style="color: #007700">(</span><span style="color: #0000BB">13</span><span style="color: #007700">);<br />} catch (</span><span style="color: #0000BB">UnexpectedValueException $uve</span><span style="color: #007700">) {<br /> echo </span><span style="color: #0000BB">$uve</span><span style="color: #007700">-></span><span style="color: #0000BB">getMessage</span><span style="color: #007700">() . </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> 6 Value not a const in enum Month </pre></div> </div> </div> </p> </div> </div> <h2>Table of Contents</h2><ul class="chunklist chunklist_reference"><li><a href="splenum.getconstlist.html">SplEnum::getConstList</a> — Returns all consts (possible values) as an array.</li></ul> </div> <hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="class.splfloat.html">SplFloat</a></div> <div class="next" style="text-align: right; float: right;"><a href="splenum.getconstlist.html">SplEnum::getConstList</a></div> <div class="up"><a href="book.spl-types.html">SPL Types</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>