Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > f800694edefe91adea2624f711a41a2d > files > 8262

php-manual-en-5.5.7-1.mga4.noarch.rpm

<!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>Extended interface</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="internals2.counter.examples.basic.html">Basic interface</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="internals2.counter.examples.objective.html">Objective interface</a></div>
 <div class="up"><a href="internals2.counter.examples.html">Examples</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="internals2.counter.examples.extended" class="section">
    <h2 class="title">Extended interface</h2>
    
    <p class="simpara">
     The extended interface provides a small suite of functions that allow the
     user to define an arbitrary number of named counters with unique settings.
     The basic interface can be used in parallel with the extended interface.
    </p>
    
    <div class="example" id="internals2.counter.examples.extended.ex">
     <p><strong>Example #1 &quot;counter&quot;&#039;s extended interface</strong></p>
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">print_counter_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">is_resource</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Counter's&nbsp;name&nbsp;is&nbsp;'%s'&nbsp;and&nbsp;is%s&nbsp;persistent.&nbsp;Its&nbsp;current&nbsp;value&nbsp;is&nbsp;%d.\n"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">counter_get_meta</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COUNTER_META_NAME</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">counter_get_meta</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COUNTER_META_IS_PERSISTENT</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #DD0000">''&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #DD0000">'&nbsp;not'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">counter_get_value</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;</span><span style="color: #DD0000">"Not&nbsp;a&nbsp;valid&nbsp;counter!\n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />if&nbsp;((</span><span style="color: #0000BB">$counter_one&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">counter_get_named</span><span style="color: #007700">(</span><span style="color: #DD0000">"one"</span><span style="color: #007700">))&nbsp;===&nbsp;</span><span style="color: #0000BB">NULL</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$counter_one&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">counter_create</span><span style="color: #007700">(</span><span style="color: #DD0000">"one"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COUNTER_FLAG_PERSIST</span><span style="color: #007700">);<br />}<br /></span><span style="color: #0000BB">counter_bump_value</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter_one</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$counter_two&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">counter_create</span><span style="color: #007700">(</span><span style="color: #DD0000">"two"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$counter_three&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">counter_get_named</span><span style="color: #007700">(</span><span style="color: #DD0000">"three"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$counter_four&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">counter_create</span><span style="color: #007700">(</span><span style="color: #DD0000">"four"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">COUNTER_FLAG_PERSIST&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">COUNTER_FLAG_SAVE&nbsp;</span><span style="color: #007700">|&nbsp;</span><span style="color: #0000BB">COUNTER_FLAG_NO_OVERWRITE</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">counter_bump_value</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter_four</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">print_counter_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter_one</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_counter_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter_two</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_counter_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter_three</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_counter_info</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter_four</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
     </div>

     <div class="example-contents"><p>
      When run once, the above example outputs:
     </p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
Counter&#039;s name is &#039;one&#039; and is persistent. Its current value is 2.
Counter&#039;s name is &#039;two&#039; and is not persistent. Its current value is 5.
Not a valid counter!
Counter&#039;s name is &#039;four&#039; and is persistent. Its current value is 3.</pre></div></div>
     <div class="example-contents"><p>
      If run a second time within the same instance of PHP, it outputs:
     </p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
Counter&#039;s name is &#039;one&#039; and is persistent. Its current value is 4.
Counter&#039;s name is &#039;two&#039; and is not persistent. Its current value is 5.
Not a valid counter!
Counter&#039;s name is &#039;four&#039; and is persistent. Its current value is 4.</pre></div></div>
     <div class="example-contents"><p>
      If then run a third time <em class="emphasis">in a different instance of
      PHP</em>, it outputs:
     </p></div>
     <div class="example-contents screen">
<div class="cdata"><pre>
Counter&#039;s name is &#039;one&#039; and is persistent. Its current value is 2.
Counter&#039;s name is &#039;two&#039; and is not persistent. Its current value is 5.
Not a valid counter!
Counter&#039;s name is &#039;four&#039; and is persistent. Its current value is 5.</pre></div></div>
    </div>
   </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="internals2.counter.examples.basic.html">Basic interface</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="internals2.counter.examples.objective.html">Objective interface</a></div>
 <div class="up"><a href="internals2.counter.examples.html">Examples</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>