<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'class.evperiodic.php',
    1 => 'EvPeriodic',
    2 => 'La classe EvPeriodic',
  ),
  'up' => 
  array (
    0 => 'book.ev.php',
    1 => 'Ev',
  ),
  'prev' => 
  array (
    0 => 'evloop.verify.php',
    1 => 'EvLoop::verify',
  ),
  'next' => 
  array (
    0 => 'evperiodic.again.php',
    1 => 'EvPeriodic::again',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/ev/evperiodic.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.evperiodic.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

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

  <div class="section" id="evperiodic.intro">
   <h2 class="title">Introduction</h2>
  <p class="simpara">
   Les watchers périodiques sont des sortes de minuteurs, mais ils sont très
   polyvalents.
   </p>
   <p class="simpara">
    Contrairement à <span class="classname"><a href="class.evtimer.php" class="classname">EvTimer</a></span>, les watchers
    <span class="classname"><strong class="classname">EvPeriodic</strong></span> ne sont pas basés sur un temps réel
    (ou un temps relatif, le temps physique qui passe), mais sur un temps
    d&#039;horloge (temps absolu, calendaire, ou d&#039;horloge). La différence est
    qu&#039;un temps d&#039;horloge peut être plus rapide ou plus lent qu&#039;un temps
    réel, et les sauts dans le temps ne sont pas rares (c.-à-d. lors d&#039;un ajustement).
   </p>
   <p class="simpara">
    Un watcher <span class="classname"><strong class="classname">EvPeriodic</strong></span> peut être configuré pour
    être lancé après des points spécifiques dans le temps. Par exemple,
    si un watcher <span class="classname"><strong class="classname">EvPeriodic</strong></span> est configuré pour
    se lancer <em>&quot;dans 10 secondes&quot;</em> (c.-à-d.
    <span class="methodname"><a href="evloop.now.php" class="methodname">EvLoop::now()</a></span> + <code class="literal">10.0</code>,
    c.-à-d. un temps absolu, et non un délai), et que l&#039;horloge système
    est ré-initialisée à <em>Janvier de l&#039;année dernière</em>,
    alors cela prendra une année et plus à lancer l&#039;événement (contrairement
    à <span class="classname"><a href="class.evtimer.php" class="classname">EvTimer</a></span> qui sera lancé <code class="literal">10</code>
    secondes après son démarrage, sachant qu&#039;il utilise un délai maximal d&#039;attente
    relatif).
   </p>
   <p class="simpara">
    Comme pour les minuteurs, il est garanti que la fonction de rappel soit
    appelée uniquement lorsque le point dans le temps où il est supposé se lancer
    ne soit passé. Si plusieurs minuteurs deviennent prêts en même temps
    pendant la même itération de boucle, alors ceux dont les valeurs de délai
    maximal d&#039;attente sont les plus proches seront appelés avant ceux qui ont des
    valeurs de délai maximal d&#039;attente plus éloignées (mais ceci n&#039;est plus
    vrai lorsqu&#039;une fonction de rappel appelle récursivement la méthode
    <span class="methodname"><a href="evloop.run.php" class="methodname">EvLoop::run()</a></span>).
   </p>
  </div>

  <div class="section" id="evperiodic.synopsis">
   <h2 class="title">Synopsis de la classe</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">EvPeriodic</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">/* Propriétés */</div>
    <div class="fieldsynopsis">
     <span class="modifier">public</span>
      <var class="varname"><a href="class.evperiodic.php#evperiodic.props.offset">$<var class="varname">offset</var></a></var>;</div>

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

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Propriétés héritées */</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éthodes */</div>
    <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span>
   <span class="methodname"><a href="evperiodic.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">$offset</code>
   </span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam">
    
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$interval</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">$reschedule_cb</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="evperiodic.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">public</span>
   <span class="methodname"><a href="evperiodic.at.php" class="methodname">at</a></span>(): <span class="type"><a href="language.types.float.php" class="type float">float</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="evperiodic.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">$offset</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">$interval</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">$reschedule_cb</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.evperiodic.php" class="type EvPeriodic">EvPeriodic</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span>
   <span class="methodname"><a href="evperiodic.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">$offset</code>
   </span>, <span class="methodparam">
    
    <span class="type"><a href="language.types.float.php" class="type float">float</a></span> <code class="parameter">$interval</code>
   </span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Méthodes héritées */</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="evperiodic.props">
   <h2 class="title">Propriétés</h2>
   <dl>
    
     <dt id="evperiodic.props.offset">
      <var class="varname">offset</var>
     </dt>
     <dd>
      <span class="simpara">
       Lors de la répétition, va contenir la valeur de la position, sinon,
       ce sera le point absolu dans le temps (la valeur de la position
       passée à la méthode <span class="methodname"><a href="evperiodic.set.php" class="methodname">EvPeriodic::set()</a></span>,
       bien que <em>libev</em> peut modifier cette valeur
       pour une meilleure stabilité numérique).
      </span>
     </dd>
    
    
     <dt id="evperiodic.props.interval">
      <var class="varname">interval</var>
     </dt>
     <dd>
      <span class="simpara">
       La valeur de l&#039;intervalle courant. Peut être modifié à tout moment,
       mais les modifications ne prennent effet que lorsque le minuteur
       périodique ne se lance, ou lorsque la méthode
       <span class="methodname"><a href="evperiodic.again.php" class="methodname">EvPeriodic::again()</a></span> est appelée.
      </span>
     </dd>
    
   </dl>
  </div>

 </div>

 































<h2>Sommaire</h2><ul class="chunklist chunklist_reference"><li><a href="evperiodic.again.php">EvPeriodic::again</a> — Arr&ecirc;te et re-d&eacute;marre le watcher p&eacute;riodique</li><li><a href="evperiodic.at.php">EvPeriodic::at</a> — Retourne le temps absolu auquel ce watcher sera appel&eacute; la prochaine fois</li><li><a href="evperiodic.construct.php">EvPeriodic::__construct</a> — Construit un objet watcher EvPeriodic</li><li><a href="evperiodic.createstopped.php">EvPeriodic::createStopped</a> — Cr&eacute;e un watcher EvPeriodic stopp&eacute;</li><li><a href="evperiodic.set.php">EvPeriodic::set</a> — Configure le watcher</li></ul>
</div>
<?php manual_footer($setup); ?>