- PVSM.RU - https://www.pvsm.ru -

Новое расширение PHP под старым названием: event

В PEСL как-то перестали поддерживать расширения для libevent [1]. В частности, libevent версии 2 не поддерживался ни одноимённым расширением libevent, ни расширением event(последний релиз был в 2004 году). Поэтому было решено переписать завалявшееся с 2004 года расширение «event».

Таким образом, event — это старое расширение в новом обличии:

  • поддержка libevent 2.0.2-alpha и выше, включая HTTP-сервер, Event Listener, DNS-резолвер и OpenSSL, а также некоторые функции буферов и «событий буферов», которые не были доступны в предыдущих версиях
  • новый объектно-ориентированный API
  • возможность конфигурации необходимых компонент(libevent_core, libevent_extra, libevent_pthreads, libevent_openssl) при установке

Переход на OO API связан с тем, что оригинальные названия функций в libevent не отличаются особой красотой:

bufferevent_setcb
bufferevent_setwatermark
bufferevent_socket_get_dns_error
evbuffer_add_buffer
evbuffer_get_contiguous_space

и т.п.

К тому же, член основной команды PHP, Johannes Schlüter заверил, что ресурсы практически не выигрывают в производительности по сравнению с объектами, а иногда даже проигрывают. Вообще, в последнее время наблюдается тенденция перехода к объектам.

Документация

http://docs.php.net/manual/en/intro.event.php [2]. Примеры там же в разделе «Examples».

Установка

$ sudo pecl install event-beta

Расширение активно тестируется на Gentoo, Fedora, Ubuntu и FreeBSD. Пока время от времени появляется необходимость в исправлениях и дополнениях, код пребывает в beta-версии.

Надеюсь, это будет кому-то полезно.

Спасибо.

Автор: osmanov

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/php-2/29362

Ссылки в тексте:

[1] libevent: http://libevent.org/

[2] http://docs.php.net/manual/en/intro.event.php: http://docs.php.net/manual/en/intro.event.php

[3] Источник: http://habrahabr.ru/post/172699/