Bench.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace App\Controllers;
  3. class Bench extends BaseController
  4. {
  5. public function plaintext()
  6. {
  7. $this->response->setContentType('text/plain');
  8. return $this->response->setBody('Hello, World!');
  9. }
  10. public function json()
  11. {
  12. return $this->response->setJSON(['message' => 'Hello, World!']);
  13. }
  14. public function db()
  15. {
  16. $worlds = $this->db
  17. ->query('SELECT * FROM World WHERE id = ?', array(mt_rand(1, 10000)))
  18. ->getRow();
  19. return $this->response->setJSON($worlds);
  20. }
  21. public function queries($queries = 1)
  22. {
  23. $worlds = [];
  24. $queries = is_numeric($queries) ? min(max($queries, 1), 500) : 1;
  25. for ($i = 0; $i < $queries; ++$i) {
  26. $worlds[] = $this->db
  27. ->query('SELECT * FROM World WHERE id = ?', array(mt_rand(1, 10000)))
  28. ->getRow();
  29. }
  30. return $this->response->setJSON($worlds);
  31. }
  32. public function update($queries = 1)
  33. {
  34. $worlds = [];
  35. $queries = is_numeric($queries) ? min(max($queries, 1), 500) : 1;
  36. for ($i = 0; $i < $queries; ++$i) {
  37. $id = mt_rand(1, 10000);
  38. $world = $this->db
  39. ->query('SELECT * FROM World WHERE id = ?', [$id])
  40. ->getRow();
  41. $world->randomNumber = mt_rand(1, 10000);
  42. $this->db
  43. ->query('UPDATE World SET randomNumber=? WHERE id=?', [$world->randomNumber, $id]);
  44. $worlds[] = $world;
  45. }
  46. return $this->response->setJSON($worlds);
  47. }
  48. public function fortunes()
  49. {
  50. $fortunes = $this->db
  51. ->query('SELECT * FROM Fortune')
  52. ->getResultArray();
  53. $fortunes[] = [
  54. 'id' => 0,
  55. 'message' => 'Additional fortune added at request time.'
  56. ];
  57. usort($fortunes, fn($a, $b) => $a['message'] <=> $b['message']);
  58. $data['fortunes'] = $fortunes;
  59. return view('fortunes', $data);
  60. }
  61. }