Body
Die Body Klasse bildet den Inhalt des Requests (Anfrage) oder der Response (Antwort) ab.
Neues Body Objekt
Ein Body Objekt kann mit einem String oder einem Content Objekt erzeugt werden.
// \Alvine\Types\Mime\Content Objekt
$content = new \Alvine\Types\Mime\Text('Mein Inhalt');
$body = new \Alvine\Net\Http\Body($content);
// String und MimeType
$content = 'Mein Inhalt';
$body = new \Alvine\Net\Http\Body($content, new \Alvine\Types\Mime\MIMEType(\Alvine\Types\Mime\MIMEType::TEXT, \Alvine\Types\Mime\Text::HTML));
Werte auslesen
Auf den Inhalt eines Bodys kann mit der Mehtode getContent() zugegriffen werden. Das Objekt hat zusätzlich auch die Methode __toSrting() implementiert, so wird der Inhalt direkt zurück gegeben.
$body = new \Alvine\Net\Http\Body(new \Alvine\Types\Mime\Text('Mein Inhalt'));
// __toString()
echo $body; // Mein Inhalt
// Rückgabe ist ein \Alvine\Types\Mime\Content Objekt
$content = $body->getContent();
// Ergebnis -> Mein Inhalt
Json Werte auslesen
Wenn der Content vom Type “application/json” ist, kann über die Methode getValueMap() direkt eine Map zurück geliefert werden. Das Json steht dann als \Alvine\Types\Map zu Verfügung.
$content = '{
"Herausgeber": "schukai",
"Nummer": "1234-5678-9012-3456",
"Deckung": 2e+6,
"Waehrung": "EURO",
"Inhaber": {
"Name": "Mustermann",
"Vorname": "Max",
"maennlich": true,
"Hobbys": [ "Reiten", "Golfen", "Lesen" ],
"Alter": 42,
"Kinder": [],
"Partner": null
}
}';
$body = new \Alvine\Net\Http\Body($content, new \Alvine\Types\Mime\MIMEType(\Alvine\Types\Mime\MIMEType::APPLICATION_KEY, 'json'));
$map = $body->getValueMap();
echo $map->getValue('Herausgeber');
// Ergebnis -> schukai