Beispiel getRestaurantMenus mit cURL
Für die Ausgabe der Menüs muss die restaurant_id auf ein Restaurant zeigen, das aktuelle Tagesmenüs publiziert hat.
Ausgabe des JSON Formats
Date 26.12.2024
Menu 1: "Züri-Geschnetzeltes vom Kalb ",
Menu 2: Ungarisches Rindsgulasch,
Menu 3: Egliknusperli gebacken mit Sauce Tartar,
Ausgabe des XML Formats
Date 26.12.2024
Menu 1: "Züri-Geschnetzeltes vom Kalb ",
Menu 2: Ungarisches Rindsgulasch,
Menu 3: Egliknusperli gebacken mit Sauce Tartar,
PHP-Code für diese Beispielseite
<?php
// cURL initialisieren
$curlHandle = curl_init();
// Authentifizierung festlegen
curl_setopt($curlHandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
// Name und PW festlegen
curl_setopt($curlHandle, CURLOPT_USERPWD, "api.demo@lunchgate.ch:demo");
// URL festlegen
curl_setopt($curlHandle, CURLOPT_URL, "http://api2.lunchgate.ch/restaurant/menu?restaurant_id=$restaurant_id&limit=3&response=json");
// Antwortformat JSON festlegen
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, array("Accept: application/json"));
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, TRUE);
// cURL ausführen und Antwort in $response_json schreiben
$response_json = curl_exec($curlHandle);
// alternative mit XML Format
curl_setopt($curlHandle, CURLOPT_URL, "http://api2.lunchgate.ch/restaurant/menu?restaurant_id=$restaurant_id&limit=3&response=xml");
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, array("Accept: application/xml"));
$response_xml = curl_exec($curlHandle);
// cURL schliessen
curl_close($curlHandle);
// $response als Object in $lunchgatemenu
$lunchgatemenu_json = json_decode($response_json);
echo "<h2>Ausgabe des JSON Formats</h2>
<p><em>Date</em>$lunchgatemenu_json->date</p>";
if (isset($lunchgatemenu_json->menu)) {
$menu_counter = 0;
foreach ($lunchgatemenu_json->menu as $menu) {
echo "<p><em>Menu " . ++$menu_counter . "</em>: " . htmlspecialchars($menu->title) . "</p>";
}
} else {
echo "no menus available";
}
// die XML Ausgabe enthält ein umschliessendes Tag mit dem Befehlsnamen "getRestaurantMenus"
$lunchgatemenu_xml = simplexml_load_string($response_xml)->getRestaurantMenus;
echo "<h2>Ausgabe des XML Formats</h2>
<p><em>Date </em>$lunchgatemenu_xml->date</p>";
if (!empty($lunchgatemenu_xml->menu)) {
$menu_counter = 0;
foreach ($lunchgatemenu_xml->menu->children() as $menu) {
echo "<p><em>Menu " . ++$menu_counter . "</em>: " . htmlspecialchars($menu->title) . "</p>";
}
} else {
echo "no menus available";
}
?>