public static function getInstance() { if (null === static::$instance) { TemplateReader::$instance = new TemplateReader(); } return static::$instance; }
$bashResponse = $app->tts->say($app->input['message']); return $app->json(['status' => SUCCESS, 'data' => $bashResponse]); }); $app->get('/templates/', function () use($app) { $templates = TemplateReader::getInstance()->getList(); return $app->json(['status' => SUCCESS, 'data' => $templates]); }); $app->get('/templates/{templateName}', function ($templateName) use($app) { if (TemplateReader::getInstance()->exists($templateName)) { TemplateReader::getInstance()->load($templateName); $bashResponse = $app->tts->say(TemplateReader::getInstance()->getMessage($_GET)); return $app->json(['status' => SUCCESS, 'message' => $bashResponse]); } else { return $app->json(['status' => FAIL, 'data' => 'Template not found']); } }); $app->post('/templates', function () use($app) { $requiredArguments = ['name', 'message']; $fail = []; foreach ($requiredArguments as $argumentName) { if (!isset($app->input[$argumentName]) || empty($app->input[$argumentName])) { $fail[$argumentName] = 'Missing Argument'; } } if (!empty($fail)) { return $app->json(['status' => FAIL, 'data' => $fail]); } TemplateReader::getInstance()->save($app->input['name'], $app->input['message']); return $app->json(['status' => SUCCESS, 'data' => 'template created'], 201); }); $app->run();
/** * Format template parameters: One parameter per line. Adds separator pipe */ public static function formatTemplateParameters($template) { $result = "\n"; $parameters = TemplateReader::getParameters($template); foreach ($parameters as $param) { list($paramName, $defaultValue) = $param; $result .= !is_numeric($paramName) ? "|" . $paramName . "={$defaultValue}\n" : "|\n"; } return $result; }