Home.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace Controller;
  3. use Wolff\Core\Container;
  4. use Wolff\Core\Http\Request;
  5. use Wolff\Core\Http\Response;
  6. use Wolff\Core\Language;
  7. use Wolff\Core\View;
  8. class Home extends \Wolff\Core\Controller
  9. {
  10. public function plaintext(Request $req, Response $res)
  11. {
  12. $res->setHeader('Content-Type', 'text/plain');
  13. $res->write('Hello, World!');
  14. }
  15. public function json(Request $req, Response $res)
  16. {
  17. $res->setHeader('Content-Type', 'application/json');
  18. $res->writeJson(['message' => 'Hello, World!']);
  19. }
  20. public function db(Request $req, Response $res)
  21. {
  22. $row = Container::get('db')->select('World', 'id = ?', mt_rand(1, 10000))[0];
  23. $res->setHeader('Content-Type', 'application/json');
  24. $res->writeJson($row);
  25. }
  26. public function queries(Request $req, Response $res)
  27. {
  28. $queries = $req->query('queries');
  29. if (is_numeric($queries)) {
  30. $queries = max(1, min($queries, 500));
  31. } else {
  32. $queries = 1;
  33. }
  34. /** @var \Wolff\Core\DB */
  35. $db = Container::get('db');
  36. $worlds = [];
  37. for ($i = 0; $i < $queries; ++$i) {
  38. $worlds[] = $db->select('World', 'id = ?', mt_rand(1, 10000))[0];
  39. }
  40. $res->setHeader('Content-Type', 'application/json');
  41. $res->writeJson($worlds);
  42. }
  43. public function update(Request $req, Response $res)
  44. {
  45. $queries = $req->query('queries');
  46. if (is_numeric($queries)) {
  47. $queries = max(1, min($queries, 500));
  48. } else {
  49. $queries = 1;
  50. }
  51. /** @var \Wolff\Core\DB */
  52. $db = Container::get('db');
  53. $worlds = [];
  54. for ($i = 0; $i < $queries; ++$i) {
  55. $random_id = mt_rand(1, 10000);
  56. $random_update_id = mt_rand(1, 10000);
  57. $row = $db->select('World', 'id = ?', $random_id)[0];
  58. $db->query('UPDATE World SET randomNumber = ? WHERE id = ?', $random_update_id, $row['id']);
  59. $worlds[] = [
  60. 'id' => $row['id'],
  61. 'randomNumber' => $random_update_id
  62. ];
  63. }
  64. $res->setHeader('Content-Type', 'application/json');
  65. $res->writeJson($worlds);
  66. }
  67. public function fortunes(Request $req, Response $res)
  68. {
  69. $fortunes = Container::get('db')->select('Fortune');
  70. $fortunes[] = [ 'id' => 0, 'message' => 'Additional fortune added at request time.' ];
  71. usort($fortunes, fn($left, $right) => $left['message'] <=> $right['message'] );
  72. $res->setHeader('Content-Type', 'text/html; charset=utf-8');
  73. View::render('fortunes', [
  74. 'fortunes' => $fortunes,
  75. ]);
  76. }
  77. }