<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.evtimer.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'evtimer.construct.php',
    1 => 'EvTimer::__construct',
    2 => 'Construye un objeto EvTimer watcher',
  ),
  'up' => 
  array (
    0 => 'class.evtimer.php',
    1 => 'EvTimer',
  ),
  'prev' => 
  array (
    0 => 'evtimer.again.php',
    1 => 'EvTimer::again',
  ),
  'next' => 
  array (
    0 => 'evtimer.createstopped.php',
    1 => 'EvTimer::createStopped',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/ev/evtimer/construct.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="evtimer.construct" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">EvTimer::__construct</h1>
  <p class="verinfo">(PECL ev &gt;= 0.2.0)</p><p class="refpurpose"><span class="refname">EvTimer::__construct</span> &mdash; <span class="dc-title">Construye un objeto EvTimer watcher</span></p>

 </div>
 <div class="refsect1 description" id="refsect1-evtimer.construct-description">
  <h3 class="title">Descripción</h3>
  <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span>
   <span class="methodname"><strong>EvTimer::__construct</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam">
    
    <span class="type"><a href="language.types.float.php" class="type float">float</a></span> <code class="parameter">$after</code>
   </span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam">
    
    <span class="type"><a href="language.types.float.php" class="type float">float</a></span> <code class="parameter">$repeat</code>
   </span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam">
    
    <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$callback</code>
   </span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam">
    
    <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$data</code>
    <span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span>
   </span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$priority</code>
    <span class="initializer"> = 0</span>
   </span><br>)</div>

  <p class="simpara">
   Construye un objeto EvTimer watcher.
  </p>
 </div>

 <div class="refsect1 parameters" id="refsect1-evtimer.construct-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt>
     <code class="parameter">after</code>
    </dt>
    <dd>
     <span class="simpara">
      Configura el tiempo para lanzar el trigger después de
      <code class="parameter">after</code> segundos.
     </span>
    </dd>
   
   
    <dt>
     <code class="parameter">repeat</code>
    </dt>
    <dd>
     <span class="simpara">
      Si este argumento vale <code class="literal">0.0</code>, entonces el watcher
      se detendrá automáticamente cuando se alcance el tiempo máximo de espera. Si este argumento es positivo, entonces el timer lanzará automáticamente el trigger cada segundo siguiente, hasta que se detenga manualmente.
     </span>
    </dd>
   
   
    <dt>
     <code class="parameter">callback</code>
    </dt>
    <dd>
     <span class="simpara">
      Ver las
      <a href="ev.watcher-callbacks.php" class="link">funciones de retrollamada Watcher</a>.
     </span>
    </dd>
   
   
    <dt>
     <code class="parameter">data</code>
    </dt>
    <dd>
     <span class="simpara">
      Datos personalizados asociados con el watcher.
     </span>
    </dd>
   
   
    <dt>
     <code class="parameter">priority</code>
    </dt>
    <dd>
     <span class="simpara">
      <a href="class.ev.php#ev.constants.watcher-pri" class="link">Las prioridades del Watcher</a>
     </span>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 examples" id="refsect1-evtimer.construct-examples">
  <h3 class="title">Ejemplos</h3>
 <div class="example" id="example-1">
   <p><strong>Ejemplo #1 timers simples</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: #FF8000">// Crea e inicia un timer lanzado después de 2 segundos<br /></span><span style="color: #0000BB">$w1 </span><span style="color: #007700">= new </span><span style="color: #0000BB">EvTimer</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, function () {<br />    echo </span><span style="color: #DD0000">"2 segundos pasados\n"</span><span style="color: #007700">;<br />});<br /><br /></span><span style="color: #FF8000">// Crea e inicia un timer lanzado después de 2 segundos, y lo repite cada segundo<br />// hasta que no se detenga manualmente<br /></span><span style="color: #0000BB">$w2 </span><span style="color: #007700">= new </span><span style="color: #0000BB">EvTimer</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, function (</span><span style="color: #0000BB">$w</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"es llamado cada segundo, es iniciado después de 2 segundos\n"</span><span style="color: #007700">;<br />    echo </span><span style="color: #DD0000">"iteración = "</span><span style="color: #007700">, </span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">iteration</span><span style="color: #007700">(), </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br />    </span><span style="color: #FF8000">// Detiene el watcher después de 5 iteraciones<br />    </span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">iteration</span><span style="color: #007700">() == </span><span style="color: #0000BB">5 </span><span style="color: #007700">and </span><span style="color: #0000BB">$w</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">stop</span><span style="color: #007700">();<br />    </span><span style="color: #FF8000">// Detiene el watcher si llamadas posteriores causan más de 10 iteraciones<br />    </span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">iteration</span><span style="color: #007700">() &gt;= </span><span style="color: #0000BB">10 </span><span style="color: #007700">and </span><span style="color: #0000BB">$w</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">stop</span><span style="color: #007700">();<br />});<br /><br /></span><span style="color: #FF8000">// Crea un timer detenido. Estará inactivo hasta que no se inicie manualmente<br /></span><span style="color: #0000BB">$w_stopped </span><span style="color: #007700">= </span><span style="color: #0000BB">EvTimer</span><span style="color: #007700">::</span><span style="color: #0000BB">createStopped</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">, </span><span style="color: #0000BB">5</span><span style="color: #007700">, function(</span><span style="color: #0000BB">$w</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">"Función de retrollamada del timer creado detenido\n"</span><span style="color: #007700">;<br /><br />    </span><span style="color: #FF8000">// Detiene el watcher después de 2 iteraciones<br />    </span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">iteration</span><span style="color: #007700">() &gt;= </span><span style="color: #0000BB">2 </span><span style="color: #007700">and </span><span style="color: #0000BB">$w</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">stop</span><span style="color: #007700">();<br />});<br /><br /></span><span style="color: #FF8000">// Bucle mientras Ev::stop() es llamado o mientras todos los watchers no se detienen<br /></span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">run</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">// Inicia y bloquea si está en funcionamiento<br /></span><span style="color: #0000BB">$w_stopped</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">start</span><span style="color: #007700">();<br />echo </span><span style="color: #DD0000">"Ejecución de una sola iteración\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">run</span><span style="color: #007700">(</span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">RUN_ONCE</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #DD0000">"Reinicia el segundo watcher y intenta manejar los mismos eventos, pero no bloquea\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$w2</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">again</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">run</span><span style="color: #007700">(</span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">RUN_NOWAIT</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$w </span><span style="color: #007700">= new </span><span style="color: #0000BB">EvTimer</span><span style="color: #007700">(</span><span style="color: #0000BB">10</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, function() {});<br />echo </span><span style="color: #DD0000">"Ejecución de un bucle bloqueante\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">Ev</span><span style="color: #007700">::</span><span style="color: #0000BB">run</span><span style="color: #007700">();<br />echo </span><span style="color: #DD0000">"FIN\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  <div class="example-contents"><p>Resultado del ejemplo anterior es similar a:</p></div>
  <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">2 segundos pasados
es llamado cada segundo, es iniciado después de 2 segundos
iteración = 1
es llamado cada segundo, es iniciado después de 2 segundos
iteración = 2
es llamado cada segundo, es iniciado después de 2 segundos
iteración = 3
es llamado cada segundo, es iniciado después de 2 segundos
iteración = 4
es llamado cada segundo, es iniciado después de 2 segundos
iteración = 5
Ejecución de una sola iteración
Función de retrollamada del timer creado detenido
Reinicia el segundo watcher y intenta manejar los mismos eventos, pero no bloquea
Ejecución de un bucle bloqueante
es llamado cada segundo, es iniciado después de 2 segundos
iteración = 8
es llamado cada segundo, es iniciado después de 2 segundos
iteración = 9
es llamado cada segundo, es iniciado después de 2 segundos
iteración = 10
FIN</pre>
</div>
  </div>
  </div>
 </div>

 <div class="refsect1 seealso" id="refsect1-evtimer.construct-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li>
    <span class="methodname"><a href="evtimer.createstopped.php" class="methodname" rel="rdfs-seeAlso">EvTimer::createStopped()</a> - Crea un objeto EvTimer watcher detenido</span>
   </li>
   <li>
    <span class="classname"><a href="class.evperiodic.php" class="classname">EvPeriodic</a></span>
   </li>
   <li>
    <a href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_timer_code_relative_and_opti" class="link external">&raquo;&nbsp;ev_timer - repetición de un tiempo de espera máximo</a>
   </li>
   <li>
    <a href="http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Be_smart_about_timeouts" class="link external">&raquo;&nbsp;Ser inteligente con los tiempos de espera máximo</a>
   </li>
  </ul>
 </div>

</div><?php manual_footer($setup); ?>