-
Notifications
You must be signed in to change notification settings - Fork 1
/
api.php
executable file
·63 lines (56 loc) · 1.61 KB
/
api.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php
/* Require Slim and NotORM */
require 'vendor/autoload.php';
$app = new \Slim\App;
/* Database Configuration */
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'dbathome';
$dbname = 'car_park';
$dbmethod = 'mysql:dbname=';
$dsn = $dbmethod.$dbname;
$pdo = new PDO($dsn, $dbuser, $dbpass);
$db = new NotORM($pdo);
$app->post('/car', function ($req, $res, $args) use($db) {
$car = $req->getParsedBody();
$result = $db->cars->insert($car);
return $res->write($result['id']);
});
$app->get('/cars', function ($req, $res, $args) use($db) {
$cars = array();
foreach($db->cars() as $car) {
$cars[] = array(
'number' => $car['number'],
'region' => $car['region'],
'ticket' => $car['ticket']
);
}
return $res->withHeader(
'Content-Type',
'application/json'
)->write(json_encode($cars));
});
$app->delete('/car/{num}/{region}', function ($req, $res, $args) use($db) {
$num = $args['num'];
$region = $args['region'];
$car = $db->cars()->where(array("number" => $num, "region" => $region));
if($car->fetch()){
$result = $car->delete();
$responseBody = json_encode(array(
"status" => true,
"message" => "Car deleted successfully."
));
} else {
$responseBody = json_encode(array(
"status" => false,
"message" => "Car with $num number and $region region does not exist."
));
}
return $res->withHeader(
'Content-Type',
'application/json'
)->write($responseBody);
});
/* Run the application */
$app->run();
?>