Rechercher une fonction PHP

La classe EvStat

(PECL ev >= 0.2.0)

Introduction

La classe EvStat surveille un fichier du système de fichiers afin de regarder toutes modifications de ces attributs. Elle appelle la commande stat() sur ce chemin, à intervalle régulier (ou lorsque l'OS signale une modification) et regarde s'il a été modifié depuis la dernière fois, et appelle la fonction de rappel si c'est le cas.

Le chemin n'a pas besoin d'exister : la modification de "le chemin existe" vers "le chemin n'existe pas est une modification de statut comme un autre. La condition "le chemin n'existe pas" est signifié par la valeur 0 de l'élément 'nlink' (retourné par la méthode EvStat::attr()).

Le chemin ne doit pas se terminer par un slash, ou contenir des composants spéciaux comme '.' ou ... Le chemin doit être absolu : s'il est relatif, et que le dossier de travail change, alors le comportement sera indéfini.

Sachant qu'il n'y a pas d'interface de notification de changement portable, l'implentation portable appelle simplement la commande stat() sur le chemin pour vérifier les modifications. Pour ce cas, un intervalle régulier peut être spécifié. S'il est spécifié, un intervalle de 0.0 (vivement recommandé) alors une valeur par défaut non spécifié sera utilisé (au alantour de 5 secondes, et peut être modifié dynamiquement). libev va également imposer un intervalle minimum qui est actuellement au alentour de 0.1, ce qui est largement suffisant.

Ce type de watcher n'est pas prévu pour un nombre important de watchers EvStat, sachant que même avec les notifications systèmes sur les modifications supportées par l'OS, ceci prend beaucoup de ressources.

Retour à la première page de Manuel PHP  Table des matières Haut

Synopsis de la classe

EvStat extends EvWatcher {
/* Propriétés */
public $path ;
public $interval ;
/* Propriétés héritées */
public $is_active ;
public $data ;
public $is_pending ;
public $priority ;
/* Méthodes */
public attr ( void ) : array
public __construct ( string $path , float $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
final public static createStopped ( string $path , float $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] ) : void
public prev ( void ) : void
public set ( string $path , float $interval ) : void
public stat ( void ) : bool
/* Méthodes héritées */
public EvWatcher::clear ( void ) : int
abstract public EvWatcher::__construct ( void )
public EvWatcher::feed ( int $revents ) : void
public EvWatcher::getLoop ( void ) : EvLoop
public EvWatcher::invoke ( int $revents ) : void
public EvWatcher::keepalive ([ bool $value ] ) : bool
public EvWatcher::setCallback ( callable $callback ) : void
public EvWatcher::start ( void ) : void
public EvWatcher::stop ( void ) : void
}

Retour à la première page de Manuel PHP  Table des matières Haut

Propriétés

interval

Lecture seule. La rapidité avec laquelle une modification doit être détectée ; normalement, doit valoir 0.0 pour laisser libev choisir une bonne valeur.

path

Lecture seule. Le chemin vers le fichier dont on souhaite surveiller les modifications de statut.

Retour à la première page de Manuel PHP  Table des matières Haut

Sommaire

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-class.evstat.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut