Beispiel #1
0
use App\View\ViewModel;
require '../vendor/autoload.php';
chdir(dirname(__DIR__));
$app = new \Slim\App();
$container = $app->getContainer();
$container['renderer'] = new ViewModel("./templates");
$config = new Config();
$driver = new RethinkDB();
$device = new Device($driver);
$app->get('/', function (Request $request, Response $response) use($app) {
    return $this->renderer->render($response, "/layout.html");
});
$app->get('/devices', function (Request $request, Response $response) use($app, $device) {
    $result = ['status' => 'error', 'message' => 'Runtime Error'];
    try {
        $result = ['status' => 'success', 'data' => $result = $device->fetchAll()];
    } catch (\Exception $ex) {
        $result['message'] = $ex->getMessage();
    }
    return new JsonModel($result);
});
$app->get('/devices/{deviceId}', function (Request $request, Response $response) use($device) {
    $result = ['status' => 'error', 'message' => 'Runtime Error'];
    try {
        $deviceData = $device->fetchById($request->getAttribute('deviceId'));
        $result = ['status' => 'success', 'data' => $deviceData];
    } catch (\Exception $ex) {
        $result['message'] = $ex->getMessage();
    }
    return new JsonModel($result);
});