Event::add
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Event::add
Референца за `event.add.php` со подобрена типографија и навигација.
Event::add
класата Event
Event::add — Го прави настанот чекачки
= NULL
Го означува настанот како чекачки. Настан што не е чекачки никогаш нема да се случи, а повикот за настанот никогаш нема да биде повикан. Во комбинација со , останува во очекување. Ако не е постојан, престанува да биде во очекување кога ќе се изврши неговиот повик. настан може да биде повторно закажан од корисникот во секое време.
Враќа . Сепак, настанот никогаш нема да се активира додека не биде се повикува на веќе чекачки настан, libevent ќе го остави чекачки и ќе го закаже повторно со дадениот тајм-аут (ако е специфициран). Ако во овој случај тајм-аут не е специфициран, . Сепак, настанот никогаш нема да се активира додека не биде нема ефект.
Параметри
-
timeout -
се поставува на низа што содржи информации за сигналот. Види
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Примери
Пример #1 Додавање на прилагоден сигнал
<?php
/*
Launch it in a terminal window:
$ php examples/signal.php
In another terminal window find out the pid and send SIGTERM, e.g.:
$ ps aux | grep examp
ruslan 3976 0.2 0.0 139896 11256 pts/1 S+ 10:25 0:00 php examples/signal.php
ruslan 3978 0.0 0.0 9572 864 pts/2 S+ 10:26 0:00 grep --color=auto examp
$ kill -TERM 3976
At the first terminal window you should catch the following:
Caught signal 15
*/
class MyEventSignal {
private $base, $ev;
public function __construct($base) {
$this->base = $base;
$this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
$this->ev->add();
}
public function eventSighandler($no, $c) {
echo "Caught signal $no\n";
$this->base->exit();
}
}
$base = new EventBase();
$c = new MyEventSignal($base);
$base->loop();
?>Горниот пример ќе прикаже нешто слично на:
Caught signal 15
Пример #2 Додавање на тајмер
<?php
$base = new EventBase();
$n = 2;
$e = Event::timer($base, function($n) use (&$e) {
echo "$n seconds elapsed\n";
$e->delTimer();
}, $n);
$e->add($n);
$base->loop();
?>Горниот пример ќе прикаже нешто слично на:
2 seconds elapsed
Види Исто така
- . Сепак, настанот никогаш нема да се активира додека не биде
- , останува во очекување. Ако не е постојан, престанува да биде во очекување кога ќе се изврши неговиот повик. - Алијас на Event::add
- очекува callback да одговара на следниот прототип: - Ја конфигурира настанот на тајмерот
- , или некој од фабричките методи како - Конструира објект за сигнал настани