Exemples

Exemple #1 Exemple de serveur Yar

<?php



class Operator {


public function add($a, $b) {
return
$this->_add($a, $b);
}


public function sub($a, $b) {
return
$a - $b;
}


public function mul($a, $b) {
return
$a * $b;
}


protected function _add($a, $b) {
return
$a + $b;
}
}

$server = new Yar_Server(new Operator());
$server->handle();
?>

Exemple #2 Accès au serveur depuis un navigateur (requête GET)

Résultat de l'exemple ci-dessus est similaire à :

Information du serveur Yar

Exemple #3 Exemple de client Yar

<?php
$client
= new yar_client("http://example.com/operator.php");


var_dump($client->add(1, 2));


var_dump($client->call("add", array(3, 2)));



var_dump($client->_add(1, 2));
?>

Résultat de l'exemple ci-dessus est similaire à :

 int(3) int(5) PHP Fatal error: Uncaught exception 'Yar_Server_Exception' with message 'call to api Operator::_add() failed' in * 

Exemple #4 Exemple de client Yar concurrent

<?php
function callback($ret, $callinfo) {
echo
$callinfo['method'] , " result: ", $ret , "\n";
}


Yar_Concurrent_Client::call("http://example.com/operator.php", "add", array(1, 2), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "sub", array(2, 1), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "mul", array(2, 2), "callback");


Yar_Concurrent_Client::loop();
?>

Résultat de l'exemple ci-dessus est similaire à :

 mul result: 4 sub result: 1 add result: 3 
To Top