[[oktatas:programozás:php:php_rest_api|< PHP REST API]] ====== PHP REST API JSON fájlból ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2022 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Bevezetés ===== A jelenlegi leírás egyszerű API felületet nyújt azonosítás nélkül. ===== Projekt szerkezet ===== app01/ `-src/ |-api/ |-products/ | `-index.php `-database.json ===== Az index.php ===== {'products'}); $last_id = $last_element->id; $a_data->id = ++$last_id; array_push($tmp_array->{'products'}, $a_data); $jsonData = json_encode($tmp_array, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); file_put_contents('../database.json', $jsonData); print_r($data); } function read_data() { $page = file_get_contents('../database.json'); $obj = json_decode($page); $res = json_encode( $obj->{'products'}, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT ); echo $res; } function update_data($request) { header('Content-Type: text/html'); $req_array = explode('/', $request); $id = $req_array[3]; $data = file_get_contents('php://input'); $a_data = json_decode($data); $inp = file_get_contents('../database.json'); $tmp_array = json_decode($inp); $length = count($tmp_array->{'products'}); for($i=0; $i<$length; $i++) { if ($tmp_array->{'products'}[$i]->id == $id) { print_r($data); $tmp_array->{'products'}[$i]->name = $a_data->name; $tmp_array->{'products'}[$i]->price = $a_data->price; } } $jsonData = json_encode($tmp_array, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); file_put_contents('../database.json', $jsonData); } function delete_data($request) { $req_array = explode('/', $request); $id = $req_array[3]; $inp = file_get_contents('../database.json'); $tmp_array = json_decode($inp); $length = count($tmp_array->{'products'}); for($i=0; $i<$length; $i++) { if ($tmp_array->{'products'}[$i]->id == $id) { print_r( json_encode($tmp_array->{'products'}[$i]) ); unset($tmp_array->{'products'}[$i]); } } $jsonData = json_encode($tmp_array, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); file_put_contents('../database.json', $jsonData); }