<?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");
예제 #2
0
//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 {