For at lave en simpel GET API JSON-formateret med PHP skal man bruge noget data og et par enkelte PHP-funktioner.
Headers
Alle JSON-formaterede dokumenter i PHP skal have en header, der fortæller, at det aktuelle dokument er formateret i JSON. Man kan også sætte flere headers, der angiver om det er muligt at tilgå data fra JSON-APIet fra andre sider
<?php
//HER GIVES TILLADELSE TIL, AT DER KAN HENTES DATA FRA APIet FRA ANDRE SIDER
header("Access-Control-Allow-Origin: *");
//HER FORTÆLLES, AT DENNE SIDE ER JSON-FORMATERET
header('Content-Type: application/json');
JSON-output med array
<?php
//ARRAY OPRETTES OG DER FYLDES DATA I
$cars = array(
array(
"maker" => "Ford",
"model" => "Mustang",
),
array(
"maker" => "Volvo",
"model" => "V60"
)
);
echo json_encode($cars);
JSON-output med objekt
<?php
//TOMT OBJEKT OPRETTES
$car = new stdClass();
//HER FYLDES DATA I OBJEKTET
$car->maker = "Ford";
$car->model = "Mustang";
echo json_encode($car);
JSON-output af array med objekter
<?php
//ARRAY OPRETTES
$car_array = array();
TOMT OBJEKT INSTATIERES
$car = new stdClass();
$car->maker = "Ford";
$car->model = "Mustang";
//OBJEKTET INDSÆTTES I ARRAYET
array_push($car_array, $car);
$car = new stdClass();
$car->maker = "Volvo";
$car->model = "V60";
array_push($car_array, $car);
//JSON_PRETTY_PRINT-ARGUMENTET STILLER OUTPUTTET PÆNT OP, SÅ DET ER LÆSBART
echo json_encode($car_array, JSON_PRETTY_PRINT);
JSON-output fra database
<?php
$sql = "SELECT * FROM cars
LIMIT 10";
$result = $conn->query($sql);
//ARRAY TIL DATA OPRETTES
$cars_array = array();
//HER LOOPES IGENNEM DATA FRA DATABASE
while($row = $result->fetch_object()){
//DER OPRETTES ET NYT, TOMT OBJEKT FOR HVER RÆKKE FRA DATABASEN
$car = new stdClass();
//DATA FYLDES I OBJEKTET
$car->id = $row->id;
$car->year = $row->year;
$car->make = $row->make;
$car->model = $row->model;
//DATA I OBJEKTET INDSÆTTES I ARRAYet
array_push($cars_array, $car);
}
//DATA UDSKRIVES I JSON-FORMAT
echo json_encode($data, JSON_PRETTY_PRINT, 3);