48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
|
# 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)
|
||
|
```
|