<?php require_once "../vendor/autoload.php"; $dsn = "mysql:dbname=slimtut;host=localhost"; $username = "******"; $password = "******"; $pdo = new PDO($dsn, $username, $password); $db = new NotORM($pdo); $app = new Slim(array("MODE" => "development", "TEMPLATES.PATH" => "./templates")); $app->get("/", function () { echo "<h1>Hello Slim World</h1>"; }); $app->get("/books", function () use($app, $db) { $books = array(); foreach ($db->books() as $book) { $books[] = array("id" => $book["id"], "title" => $book["title"], "author" => $book["author"], "summary" => $book["summary"]); } $app->response()->header("Content-Type", "application/json"); echo json_encode($books); }); $app->get("/book/:id", function ($id) use($app, $db) { $app->response()->header("Content-Type", "application/json"); $book = $db->books()->where("id", $id); if ($data = $book->fetch()) { echo json_encode(array("id" => $data["id"], "title" => $data["title"], "author" => $data["author"], "summary" => $data["summary"])); } else { echo json_encode(array("status" => false, "message" => "Book ID {$id} does not exist")); } }); $app->post("/book", function () use($app, $db) { $app->response()->header("Content-Type", "application/json");
//rota padrão para página não encontrada $app->notFound(function () use($app) { $app->response()->header('Content-Type', 'application/json'); echo json_encode(array('status' => false, 'message' => 'The resource doesn\'t exist. Check the API docs')); //$app->render('404.php'); //template padrão para erro 404 }); //criando uma nova Rota $app->get('/', function () use($app) { $app->view()->setData('title', 'Olá Mundo'); $app->render('index.php'); //echo "Hello Slim World"; }); //obtendo todos os livros $app->get('/books', function () use($app, $db) { $books = array(); foreach ($db->books() as $book) { $books[] = array('id' => $book['id'], 'title' => $book['title'], 'author' => $book['author'], 'summary' => utf8_encode($book['summary'])); } $app->response()->header('Content-Type', 'application/json'); echo json_encode($books); }); //obtendo um livro pelo id $app->get('/books/:key/:id', function ($key, $id) use($app, $db) { //cabeçalho da resposta $app->response()->header('Content-Type', 'aplication/json'); //setando o id do livro para busca $book = $db->books()->where('id', $id); //$book = $db->books('id = ?', $id); if ($data = $book->fetch()) { echo json_encode(array('id' => $data['id'], 'title' => $data['title'], 'author' => $data['author'], 'summary' => utf8_encode($data['summary']))); } else {