Exemple #1
0
});
// The follow mapping are pretty much the same logic, but with different handlers
// I will comment now only on important diferences
// So here is a feature, you can map parts of the url to named parameters
// In this case the sencond part of the url will be on the login parameter
// See more below
$server->addMap("GET", "/users/:login", function ($server) {
    $db = $server->getParameter("db");
    // Here, on the Request, you get the named parameter
    $user = $server->getRequest()->getParameter("login");
    $exists = $db->prepare("select count(*) from users where login = ?");
    $exists->execute(array($user));
    if ($exists->fetchColumn(0) == 0) {
        return new \Rest\Controller\NotFound();
    }
    $login = $server->getAuthenticator()->getUser();
    if ($login != $user) {
        return new \Rest\Controller\Forbidden();
    }
    if (!authenticate($server)) {
        return new \Rest\Controller\NotAuthorized();
    }
    $select = $db->prepare("select login, name from users where login = ?");
    $select->execute(array($user));
    $user = $select->fetchObject();
    // There is a generic useful view for return json data
    // It encodes the data and send proper content-type
    return new \Rest\View\JSon($user);
});
$server->addMap("PUT", "/users/:login", function ($server) {
    $db = $server->getParameter("db");
Exemple #2
0
 public function auth(Rest\Server $rest)
 {
     $rest->getResponse()->setResponse($rest->getAuthenticator()->getUser());
 }