Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. <?php
  2. use Phalcon\Di\FactoryDefault;
  3. new Phalcon\Mvc\Micro;
  4. use Phalcon\Http\Response;
  5.  
  6. error_reporting(E_ALL);
  7.  
  8. define('BASE_PATH', dirname(__DIR__));
  9. define('APP_PATH', BASE_PATH . '/app');
  10.  
  11. try {
  12.  
  13. $di = new FactoryDefault();
  14.  
  15. include APP_PATH . '/config/services.php';
  16.  
  17. $config = $di->getConfig();
  18.  
  19. include APP_PATH . '/config/loader.php';
  20.  
  21. $app = new Micro($di);
  22.  
  23. $app->get(
  24. "/api/dados",
  25. function () use ($app) {
  26. $phql = "SELECT * FROM dados";
  27. $dados = $app->modelsManager->executeQuery($phql);
  28. $data = [];
  29. foreach ($dados as $dado){
  30. $data[] = [
  31. "id" => $dado->id,
  32. "nome" => $dado->nome,
  33. "criado" => $dado->criado
  34. ];
  35. }
  36. echo json_encode($data);
  37. }
  38. );
  39.  
  40. $app->get(
  41. "/api/dados/{id:[0-9]+}",
  42. function ($id) use ($app) {
  43. $phql = "SELECT * FROM dados WHERE dados.id = ".$id;
  44. $dados = $app->modelsManager->executeQuery($phql);
  45. $data = [];
  46. foreach ($dados as $dado){
  47. $data[] = [
  48. "id" => $dado->id,
  49. "nome" => $dado->nome,
  50. "criado" => $dado->criado
  51. ];
  52. }
  53. echo json_encode($data);
  54. }
  55. );
  56.  
  57. $app->post(
  58. "/api/dados",
  59. function () use ($app) {
  60. $insert = [
  61. 'nome' => $app->request->getPost('nome'),
  62. 'criado' => ( ($app->request->getPost('criado')) ? $app->request->getPost('criado') : date('Y-m-d H:i:s') )
  63. ];
  64.  
  65. $phql = "INSERT INTO dados (nome, criado) VALUES ('".$insert['nome']."', '".$insert['criado']."')";
  66. echo $phql;
  67. $status = $app->modelsManager->executeQuery($phql);
  68.  
  69. // cria response
  70. $response = new Response();
  71. if($status->success() === true){
  72. $response->setStatusCode(201, "Criado");
  73. $dados = Dados::findFirstBynome($insert['nome']);
  74. $response->setJsonContent(
  75. [
  76. 'status' => "ok",
  77. 'data' => $dados
  78. ]
  79. );
  80. } else {
  81. $response->setStatusCode(409, "Conflito");
  82.  
  83. $erros = [];
  84.  
  85. foreach ($status->getMessages() as $msg){
  86. $erros[] = $msg->getMessage();
  87. }
  88.  
  89. $response->setJsonContent(
  90. [
  91. 'status' => "Erro",
  92. 'messages' => $erros
  93. ]
  94. );
  95. }
  96. return $response;
  97. }
  98. );
  99.  
  100. $app->put(
  101. "/api/dados/{id:[0-9]+}",
  102. function ($id) use ($app) {
  103. $update = [
  104. 'id' => $id,
  105. 'nome' => $app->request->getPut('nome'),
  106. 'criado' => $app->request->getPut('criado')
  107. ];
  108.  
  109. $phql = "UPDATE dados.dados SET dados.nome = '".$update['nome']."', dados.criado = '".$update['criado']."' WHERE dados.id = ".$id;
  110. $status = $app->modelsManager->executeQuery($phql);
  111.  
  112. // cria response
  113. $response = new Response();
  114. if($status->success() === true){
  115. $response->setStatusCode(201, "Criado");
  116. $dados = $dados = Dados::findFirst($update['id']);
  117. $response->setJsonContent(
  118. [
  119. 'status' => "ok",
  120. 'data' => $dados
  121. ]
  122. );
  123. } else {
  124. $response->setStatusCode(409, "Conflito");
  125.  
  126. $erros = [];
  127.  
  128. foreach ($status->getMessages() as $msg){
  129. $erros[] = $msg->getMessage();
  130. }
  131.  
  132. $response->setJsonContent(
  133. [
  134. 'status' => "Erro",
  135. 'messages' => $erros
  136. ]
  137. );
  138. }
  139. return $response;
  140. }
  141. );
  142.  
  143. $app->delete(
  144. "/api/dados/{id:[0-9]+}",
  145. function () {
  146. $phql = "DELETE FROM dados.dados WHERE dados.id = ".$id;
  147. $status = $app->modelsManager->executeQuery($phql);
  148.  
  149. // cria response
  150. $response = new Response();
  151. if($status->success() === true){
  152. $response->setJsonContent(
  153. [
  154. 'status' => "ok"
  155. ]
  156. );
  157. } else {
  158. $response->setStatusCode(409, "Conflito");
  159. $erros = [];
  160. foreach ($status->getMessages() as $msg){
  161. $erros[] = $msg->getMessage();
  162. }
  163. $response->setJsonContent(
  164. [
  165. 'status' => "Erro",
  166. 'messages' => $erros
  167. ]
  168. );
  169. }
  170. return $response;
  171. }
  172. );
  173.  
  174. $app->notFound(
  175. function () use ($app) {
  176. echo "Not found!";
  177. }
  178. );
  179.  
  180. $app->handle();
  181.  
  182.  
  183. } catch (\Exception $e) {
  184. echo $e->getMessage() . '<br>';
  185. echo '<pre>' . $e->getTraceAsString() . '</pre>';
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement