Documentación offline PHP master

EventHttp::__construct

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

EventHttp::__construct

Construye un objeto EventHttp (el servidor HTTP)

Descripción#

public EventHttp::__construct(EventBase $base, [EventSslContext $ctx])
```php

Construye el objeto del servidor HTTP.

## Parámetros

`base`  
Evento base asociado.

`ctx`  
El objeto de la clase `EventSslContext`. Transforma un servidor HTTP en un servidor HTTPS. Esto significa que si el argumento `ctx` está configurado correctamente, entonces el buffer de eventos subyacente se basará en sockets OpenSSL. Asimismo, todo el tráfico pasará a través de SSL o TLS.

> [!NOTE]
> Este argumento solo está disponible si `Event` ha sido compilado con soporte para OpenSSL, y solo a partir de la versión `Libevent 2.1.0-alpha` o superiores.

## Historial de cambios

| Versión          | Descripción                           |
|------------------|---------------------------------------|
| PECL event 1.9.0 | Añadido soporte para OpenSSL (`ctx`). |

## Ejemplos

Servidor HTTP simple
= $max_requests) { echo "Counter reached max requests $max_requests. Exiting\n"; exit(); } echo __METHOD__, " called\n"; echo "request:"; var_dump($req); echo "data:"; var_dump($data); echo "\n===== DUMP =====\n"; echo "Command:", $req->getCommand(), PHP_EOL; echo "URI:", $req->getUri(), PHP_EOL; echo "Input headers:"; var_dump($req->getInputHeaders()); echo "Output headers:"; var_dump($req->getOutputHeaders()); echo "\n >> Sending reply ..."; $req->sendReply(200, "OK"); echo "OK\n"; echo "\n >> Reading input buffer ...\n"; $buf = $req->getInputBuffer(); while ($s = $buf->readLine(EventBuffer::EOL_ANY)) { echo $s, PHP_EOL; } echo "No more data in the buffer\n"; } function _http_about($req) { echo __METHOD__, PHP_EOL; echo "URI: ", $req->getUri(), PHP_EOL; echo "\n >> Sending reply ..."; $req->sendReply(200, "OK"); echo "OK\n"; } function _http_default($req, $data) { echo __METHOD__, PHP_EOL; echo "URI: ", $req->getUri(), PHP_EOL; echo "\n >> Sending reply ..."; $req->sendReply(200, "OK"); echo "OK\n"; } $port = 8010; if ($argc > 1) { $port = (int) $argv[1]; } if ($port <= 0 || $port > 65535) { exit("Invalid port"); } $base = new EventBase(); $http = new EventHttp($base); $http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST); $http->setCallback("/dump", "_http_dump", array(4, 8)); $http->setCallback("/about", "_http_about"); $http->setDefaultCallback("_http_default", "custom data value"); $http->bind("0.0.0.0", 8010); $base->loop(); ?>

```php

Resultado del ejemplo anterior es similar a:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(presione Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close