<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.ev.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'class.evtimer.php',
    1 => 'EvTimer',
    2 => 'La clase EvTimer',
  ),
  'up' => 
  array (
    0 => 'book.ev.php',
    1 => 'Ev',
  ),
  'prev' => 
  array (
    0 => 'evstat.stat.php',
    1 => 'EvStat::stat',
  ),
  'next' => 
  array (
    0 => 'evtimer.again.php',
    1 => 'EvTimer::again',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/ev/evtimer.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.evtimer.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.evtimer" class="reference">
 <h1 class="title">La clase EvTimer</h1>
 
 <div class="partintro"><p class="verinfo">(PECL ev &gt;= 0.2.0)</p>

  <div class="section" id="evtimer.intro">
   <h2 class="title">Introducción</h2>
   <p class="simpara">
    Los observadores <span class="classname"><strong class="classname">EvTimer</strong></span> son observadores relativamente
    simples que generan un evento después de un tiempo especificado y, opcionalmente,
    se repiten a intervalos regulares.
   </p>
   <p class="simpara">
    Los temporizadores se basan en tiempo real, por lo que si un temporizador
    programa un evento que finaliza después de una hora y se reinicia el reloj del sistema
    a <em>enero del año pasado</em>, volverá a estar fuera de tiempo
    después de una hora (aproximadamente). &quot;Aproximadamente&quot; porque la detección de
    saltos en el tiempo es difícil y ciertas inexactitudes son inevitables.
   </p>
   <p class="simpara">
    Se garantiza que la función de retrollamada se llamará solo después de que
    expire el tiempo de espera máximo (y no exactamente en ese momento preciso,
    por lo que en sistemas con una resolución de reloj baja, puede introducirse
    un pequeño retraso). Si varios temporizadores están listos durante la misma
    iteración del bucle, el que tenga el valor de tiempo de espera máximo más cercano
    se invocará antes que otro con la misma prioridad pero con un valor de tiempo
    de espera más lejano (aunque esto ya no es cierto cuando una función de retrollamada
    llama recursivamente al método <span class="methodname"><a href="evloop.run.php" class="methodname">EvLoop::run()</a></span>).
   </p>
   <p class="simpara">
    El temporizador en sí hará todo lo posible para no derivar, pero si un temporizador
    está configurado para ejecutarse cada <code class="literal">10</code> segundos, entonces
    normalmente se ejecutará exactamente cada <code class="literal">10</code> segundos.
    Sin embargo, si el script no puede mantener el temporizador porque tarda más
    que sus <code class="literal">10</code> segundos, el temporizador no podrá ejecutarse
    más de una vez por iteración del bucle de eventos.
   </p>
  </div>

  <div class="section" id="evtimer.synopsis">
   <h2 class="title">Sinopsis de la Clase</h2>


   <div class="classsynopsis">
    <span class="ooclass">
     <strong class="classname"></strong>
    </span>

    <div class="classsynopsisinfo">
     <span class="ooclass">
      <span class="modifier">class</span> <strong class="classname">EvTimer</strong>
     </span>
     <span class="ooclass">
      <span class="modifier">extends</span>
       <a href="class.evwatcher.php" class="classname">EvWatcher</a>
     </span>
     {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Propiedades */</div>
    <div class="fieldsynopsis">
     <span class="modifier">public</span>
      <var class="varname"><a href="class.evtimer.php#evtimer.props.repeat">$<var class="varname">repeat</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
      <var class="varname"><a href="class.evtimer.php#evtimer.props.remaining">$<var class="varname">remaining</var></a></var>;</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Propiedades heredadas */</div>
    <div class="fieldsynopsis"><span class="modifier">public</span>
      <var class="varname"><a href="class.evwatcher.php#evwatcher.props.is-active">$<var class="varname">is_active</var></a></var>;</div>
<div class="fieldsynopsis"><span class="modifier">public</span>
      <var class="varname"><a href="class.evwatcher.php#evwatcher.props.data">$<var class="varname">data</var></a></var>;</div>
<div class="fieldsynopsis"><span class="modifier">public</span>
      <var class="varname"><a href="class.evwatcher.php#evwatcher.props.is-pending">$<var class="varname">is_pending</var></a></var>;</div>
<div class="fieldsynopsis"><span class="modifier">public</span>
      <var class="varname"><a href="class.evwatcher.php#evwatcher.props.priority">$<var class="varname">priority</var></a></var>;</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Métodos */</div>
    <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span>
   <span class="methodname"><a href="evtimer.construct.php" class="methodname">__construct</a></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>

    <div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evtimer.again.php" class="methodname">again</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span>
   <span class="modifier">public</span>
   <span class="modifier">static</span>
   <span class="methodname"><a href="evtimer.createstopped.php" class="methodname">createStopped</a></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>): <span class="type"><a href="class.evtimer.php" class="type EvTimer">EvTimer</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evtimer.set.php" class="methodname">set</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.float.php" class="type float">float</a></span> <code class="parameter">$after</code>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.float.php" class="type float">float</a></span> <code class="parameter">$repeat</code>
   </span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Métodos heredados */</div>
    <div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evwatcher.clear.php" class="methodname">EvWatcher::clear</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evwatcher.feed.php" class="methodname">EvWatcher::feed</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$revents</code>
   </span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evwatcher.getloop.php" class="methodname">EvWatcher::getLoop</a></span>(): <span class="type"><a href="class.evloop.php" class="type EvLoop">EvLoop</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evwatcher.invoke.php" class="methodname">EvWatcher::invoke</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$revents</code>
   </span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evwatcher.keepalive.php" class="methodname">EvWatcher::keepalive</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> <code class="parameter">$value</code>
   <span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evwatcher.setcallback.php" class="methodname">EvWatcher::setCallback</a></span>(<span class="methodparam">
    
    <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$callback</code>
   </span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evwatcher.start.php" class="methodname">EvWatcher::start</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evwatcher.stop.php" class="methodname">EvWatcher::stop</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

   }</div>

  </div>

  <div class="section" id="evtimer.props">
   <h2 class="title">Propiedades</h2>
   <dl>
    
     <dt id="evtimer.props.repeat">
      <var class="varname">repeat</var>
     </dt>
     <dd>
      <span class="simpara">
       Si esta propiedad vale <code class="literal">0.0</code>, entonces se detendrá automáticamente
       una vez alcanzado el tiempo de espera máximo. Si es positivo, entonces el temporizador
       se configurará automáticamente para ejecutarse cada segundo siguiente, hasta que
       no se detenga manualmente.
      </span>
     </dd>
    
    
     <dt id="evtimer.props.remaining">
      <var class="varname">remaining</var>
     </dt>
     <dd>
      <span class="simpara">
       Devuelve el tiempo restante antes de que el temporizador se ejecute.
       Si el temporizador está activo, entonces este tiempo será relativo al tiempo
       del bucle de eventos actual, de lo contrario, será relativo al valor del
       tiempo de espera máximo configurado actualmente.
      </span>
      <span class="simpara">
       Asimismo, después de instanciar un <span class="classname"><strong class="classname">EvTimer</strong></span>
       con un valor de <code class="parameter">after</code> en
       <code class="literal">5.0</code> y un valor de <code class="parameter">repeat</code>
       en <code class="literal">7.0</code>, <var class="varname">remaining</var> devolverá
       <code class="literal">5.0</code>. Cuando el temporizador se inicia y pasa un
       segundo, <var class="varname">remaining</var> devolverá
       <code class="literal">4.0</code>. Cuando el temporizador expire y se reinicie,
       devolverá aproximadamente <code class="literal">7.0</code>
       (probablemente un poco menos, ya que la invocación de la función de retrollamada
       también lleva algo de tiempo), y así sucesivamente.
      </span>
     </dd>
    
   </dl>
  </div>

 </div>

 

























<h2>Tabla de contenidos</h2><ul class="chunklist chunklist_reference"><li><a href="evtimer.again.php">EvTimer::again</a> — Reinicia el watcher Timer</li><li><a href="evtimer.construct.php">EvTimer::__construct</a> — Construye un objeto EvTimer watcher</li><li><a href="evtimer.createstopped.php">EvTimer::createStopped</a> — Crea un objeto EvTimer watcher detenido</li><li><a href="evtimer.set.php">EvTimer::set</a> — Configura el observador</li></ul>
</div>
<?php manual_footer($setup); ?>