CakeFest 2024: The Official CakePHP Conference

Callback-функции

Если для события зарегистрирована callback-функция, она будет вызвана когда событие перейдёт в активный статус. Для привязывания функции к событию, необходимо передать её как параметр callable в Event::__construct() или Event::set() или в один из фабричных методов, таких как Event::timer() .

Функция должна соответствовать следующему прототипу:

callback( mixed $fd = null , int $what = ?, mixed $arg = null ): void

fd

Дескриптор файла, потокового ресурса или сокета, связанный с событием. Для событий сигналов fd совпадает с номером сигнала.

what

Побитовая маска всех обрабатываемых событий.

arg

Пользовательские данные.

Для Event::timer() callback-функция должна соответствовать следующему прототипу:

callback( mixed $arg = null ): void

arg

Пользовательские данные.

Для Event::signal() callback-функция должна соответствовать следующему прототипу:

callback( int $signum = ?, mixed $arg = null ): void

signum

Номер сигнала (например, SIGTERM ).

arg

Пользовательские данные.

add a note

User Contributed Notes 1 note

up
0
xilon dot jul at gmail dot com
10 years ago
For event timers, the callback prototype is equivalent to sockets related callback. User arguments are given as the third parameter.

This has been tested under : Event version 1.6.1
To Top