-
Notifications
You must be signed in to change notification settings - Fork 4
/
index.php
executable file
·99 lines (90 loc) · 2.58 KB
/
index.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
require 'Slim/Slim.php';
require 'plugins/NotORM.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
/* CONFIG */
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'slim';
$dbmethod = 'mysql:dbname=';
$dsn = $dbmethod.$dbname;
$pdo = new PDO($dsn, $dbuser, $dbpass);
$db = new NotORM($pdo);
/* ROUTES */
$app->get('/', function(){
echo 'Home';
});
$app->get('/users', function() use($app, $db){
$users = array();
foreach ($db->users() as $user) {
$users[] = array(
'id' => $user['id'],
'username' => $user['username'],
'email' => $user['email']
);
}
$app->response()->header("Content-Type", "application/json");
echo json_encode($users, JSON_FORCE_OBJECT);
});
$app->get('/users/:id', function($id) use ($app, $db) {
$app->response()->header("Content-Type", "application/json");
$user = $db->users()->where('id', $id);
if($data = $user->fetch()){
echo json_encode(array(
'id' => $data['id'],
'username' => $data['username'],
'email' => $data['email']
));
}
else{
echo json_encode(array(
'status' => false,
'message' => "User ID $id does not exist"
));
}
});
$app->post('/user', function() use($app, $db){
$app->response()->header("Content-Type", "application/json");
$user = $app->request()->post();
$result = $db->users->insert($user);
echo json_encode(array('id' => $result['id']));
});
$app->put('/user/:id', function($id) use($app, $db){
$app->response()->header("Content-Type", "application/json");
$user = $db->users()->where("id", $id);
if ($user->fetch()) {
$post = $app->request()->put();
$result = $user->update($post);
echo json_encode(array(
"status" => (bool)$result,
"message" => "User updated successfully"
));
}
else{
echo json_encode(array(
"status" => false,
"message" => "User id $id does not exist"
));
}
});
$app->delete('/user/:id', function($id) use($app, $db){
$app->response()->header("Content-Type", "application/json");
$user = $db->users()->where('id', $id);
if($user->fetch()){
$result = $user->delete();
echo json_encode(array(
"status" => true,
"message" => "User deleted successfully"
));
}
else{
echo json_encode(array(
"status" => false,
"message" => "User id $id does not exist"
));
}
});
// Run the app
$app->run();