PHP 8.6.0 Beta 3 is available for testing

Yar_Server::__construct

(PECL yar >= 1.0.0)

Yar_Server::__constructCrée un serveur RPC

Description

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

Crée un serveur Yar HTTP RPC. Toutes les méthodes publiques de executor sont enregistrées comme services RPC.

Liste de paramètres

executor

Tout objet dont les méthodes publiques devraient être exposées comme services RPC. Les méthodes protégées et privées, ainsi que les méthodes dont le nom commence par un tiret bas, ne sont pas exposées.

L'exécuteur peut optionnellement définir deux méthodes magiques protégées, reconnues par Yar_Server::handle() et jamais exposées comme points d'entrée RPC :

  • protected function __info(string $markup): string — depuis Yar 2.3.0. Appelée lorsque la page d'information du service est demandée ; elle reçoit le contenu de la page que Yar aurait sinon affichée, et si elle retourne une chaîne de caractères, cette chaîne est envoyée au client à la place. Voir Yar_Server::handle().

  • protected function __auth(string $provider, string $token): bool — depuis Yar 2.3.0. Appelée au tout début de chaque requête avec les champs provider et token de l'en-tête de requête, définis par le client avec les options YAR_OPT_PROVIDER et YAR_OPT_TOKEN. Retourner exactement false rejette la requête ; toute autre valeur de retour la laisse s'exécuter. Voir Yar_Server::handle().

Les deux méthodes ne prennent effet que lorsqu'elles sont protected ; une méthode publique ou privée portant le même nom est ignorée.

Valeurs de retour

Une instance de Yar_Server.

Exemples

Exemple #1 Exemple avec Yar_Server::__construct()

<?php
class API {
    /**
     * Le bloc de documentation est affiché sur la page d'information du service.
     * @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();
?>

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top