SAND-framework/data/docs/17. Appels récursifs en curl sur une API RESTFULL SAND.md

1.4 KiB

Comment ecrire une fonctionnalité récursive d'appel avec SAND

Une fonctionnalité récursive d'appel permet d'appeler avec curl une api écrite avec le FrameWork SAND.*

Typiquement on peut:

  • faire de multiples appel à l'api (REST ou Web) grace a curl dans un seul controlleur sans passez par javascript
  • ainsi mieux découper les CRUD d'appel en bdd
  • remplacer le pattern PRG, ou mieux le découper.

C'est un choix applicatif a faire lors du developpement de l'application

Il existe trois façon d'appeler un appel curl HttpMethodRequest, tous prennent en paramètre des valeurs passées dans un tableau:

$data = array('a','b','c');

Voici la première:

$request = new Response('http://myurl','myhttp1.1method');
$request->addContent($data);
$request->send();

Voici la seconde:

$request = new Response('http://myurl');

avec soit la création d'un context personnalisé

$request->createContext('myhttp1.1method')
$request->addContent($data);
$request->send();

Soit les methodes HTTP1.1

$request->get($data);
$request->post($data);
$request->put($data);
$request->delete($data);

Voici la dernière qui reste la plus facile à utiliser, pour les développeurs qui comprennent les notations chainées:

$request = new Response();
$request->setUrl('http://myurl')->get($data)
$request->setUrl('http://myurl')->post($data)
$request->setUrl('http://myurl')->put($data)
$request->setUrl('http://myurl')->delete($data)