Event::add
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Event::add
Референца за `event.add.php` со подобрена типографија и навигација.
Event::add
класата Event
Event::add — Makes event pending
= NULL
Marks event pending. Non-pending event will never occur, and the event callback will never be called. In conjunction with , останува во очекување. Ако не е постојан, престанува да биде во очекување кога ќе се изврши неговиот повик. an event could be re-scheduled by user at any time.
Враќа . Сепак, настанот никогаш нема да се активира додека не биде is called on an already pending event, libevent will leave it pending and re-schedule it with the given timeout(if specified). If in this case timeout is not specified, . Сепак, настанот никогаш нема да се активира додека не биде has no effect.
Параметри
-
timeout -
се поставува на низа што содржи информации за сигналот. Види
Вратени вредности
Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.
Примери
Example #1 Adding a custom signal
<?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
Example #2 Adding a timer
<?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 да одговара на следниот прототип: - Ја конфигурира настанот на тајмерот
- , или некој од фабричките методи како - Конструира објект за сигнал настани