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); });