Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet Server✓flowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

Events — API

Все методы вызываются статически у localzet\Events.

Events::on(string $eventName, callable|array $listener): int
АргументЗначение
$eventNameТочное имя либо префикс с завершающей *. Имена чувствительны к регистру.
$listenerPHP-callable. Также допускается массив [ClassName::class, 'method'] для нестатического метода: библиотека сама создаст объект без аргументов.
РезультатВозрастающий ID новой регистрации.

Готовый callable, включая статический метод класса, не требует создания объекта. Для зависимостей конструктора передавайте [new Handler($dependency), 'handle'] или замыкание: автоматическое создание не использует DI-контейнер.

Если после преобразования обработчик не является callable, выбрасывается InvalidArgumentException, регистрация не добавляется. Ошибка конструктора класса может возникнуть ещё до этой проверки.

Events::off(string $eventName, int $id): int

Возвращает 1, если регистрация существовала и удалена; 0 — если не найдена. Повторное удаление допустимо. Для on('cache.*', ...) нужно off('cache.*', $id), а не off('cache.clear', $id).

Events::emit(string $eventName, mixed $data, bool $halt = false): mixed
СитуацияОбычный режим$halt = true
Нет слушателей[]null
Все callback вернули nullМассив null по числу callbacknull
Callback вернул falsefalse включается в результаты, выполнение прекращаетсяВозвращается false, выполнение прекращается
Callback вернул другое ненулевое значениеЗначение включается в массив, выполнение продолжаетсяЗначение возвращается сразу
Callback выбросил ThrowableИсключение включается в массив, выполнение продолжаетсяИсключение пропускается, поиск ответа продолжается

$halt означает первый результат, не равный null, а не первый truthy-результат. Данные события передаются callback обычным PHP-вызовом; объекты могут быть изменены обработчиком и оставаться теми же объектами для следующих слушателей.

МетодРезультат
listeners(string $eventName): arrayCallable, которые получат данное фактическое имя события. Ключи — ID регистраций, порядок — возрастание ID.
has(string $eventName): boolЕсть ли хотя бы один точный или подходящий префиксный слушатель.
list(): arrayВсе регистрации: id => [registrationName, callable]. У префиксных имён восстановлена завершающая *.

listeners() не исполняет callback. has('order.created') может вернуть true только из-за подписки order.*. list() возвращает callable, в том числе объекты и замыкания: не сериализуйте этот результат в логи или сетевой ответ.

Реестр общий для вызовов класса внутри одного процесса. Нет TTL, дискового хранения, межпроцессного обмена, приоритетов, автоматических повторов и отката побочных эффектов. Ошибку listener нужно обработать приложению по результату emit().