Yar_Server::__construct

(PECL yar >= 1.0.0)

Yar_Server::__constructCrea un servidor RPC

Descripción

final public function Yar_Server::__construct(object $executor)

Crea un servidor RPC HTTP de Yar. Todos los métodos públicos de executor se registran como servicios RPC.

Parámetros

executor

Cualquier objeto cuyos métodos públicos deban exponerse como servicios RPC. Los métodos protegidos y privados, y los métodos cuyo nombre empieza por un guion bajo, no se exponen.

El ejecutor puede definir opcionalmente dos métodos mágicos protegidos, que son reconocidos por Yar_Server::handle() y nunca se exponen como puntos de acceso RPC:

  • protected function __info(string $markup): string — a partir de Yar 2.3.0. Se llama cuando se solicita la página de información del servicio; recibe el marcado de la página que Yar mostraría en otro caso, y si devuelve una string, esa cadena se envía al cliente en su lugar. Véase Yar_Server::handle().

  • protected function __auth(string $provider, string $token): bool — a partir de Yar 2.3.0. Se llama al principio de cada petición con los campos provider y token de la cabecera de la petición, establecidos por el cliente mediante las opciones YAR_OPT_PROVIDER y YAR_OPT_TOKEN. Devolver exactamente false rechaza la petición; cualquier otro valor de retorno permite que continúe. Véase Yar_Server::handle().

Ambos métodos solo surten efecto cuando son protected; un método público o privado con el mismo nombre se ignora.

Valores devueltos

Una instancia de Yar_Server.

Ejemplos

Ejemplo #1 Ejemplo de Yar_Server::__construct()

<?php
class API {
    /**
     * El bloque de documentación se muestra en la página de información del servicio.
     * @param string $parameter
     * @return string
     */
    public function some_method($parameter, $option = "foo") {
         return "some_method";
    }

    protected function client_can_not_see() {
    }
}

$service = new Yar_Server(new API());
$service->handle();
?>

Véase también

add a note

User Contributed Notes

There are no user contributed notes for this page.