-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
77 lines (68 loc) · 1.35 KB
/
Copy pathindex.php
File metadata and controls
77 lines (68 loc) · 1.35 KB
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
<?php
require_once 'functions.php';
/*
* Configure database
*/
require_once 'lib/medoo.min.php';
$db = new medoo ( [
'database_type' => 'mysql',
'database_name' => 'movies',
'server' => 'localhost',
'username' => 'test',
'password' => '',
'charset' => 'utf8'
] );
/*
* Initialize the app
*/
require 'vendor/autoload.php';
$app = new \Slim\Slim ( array (
'debug' => true,
'templates.path' => 'view'
) );
/*
* Return index page
*/
$app->get ( '/', function () use($app, $db) {
$app->response->setStatus ( 200 );
$app->response->headers->set ( 'Content-Type', 'text/html' );
$movies = $db->select ( "movie", "*", [
"ORDER" => 'id DESC'
] );
$app->render ( 'index.php', array (
"movie" => $movies [0],
"movies" => $movies
) );
} );
/*
* Returns all movies
*/
$app->get ( '/movies', function () use($app, $db) {
listAllMovies($app, $db);
} );
/*
* Returns a movie
*/
$app->get ( '/movies/:id', function ($id) use($app, $db) {
fetchMovie($id, $app, $db);
} );
/*
* Creates a new movie
*/
$app->post ( '/movies', function () use($app, $db) {
addMovie($app, $db);
} );
/*
* Updates a movie
*/
$app->put ( '/movies/:id', function ($id) use($app, $db) {
updateMovie($id, $app, $db);
} );
/*
* Deletes a movie
*/
$app->delete ( '/movies/:id', function ($id) use($app, $db) {
deleteMovie($id, $app, $db);
} );
$app->run ();
?>