Controller.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Fortune;
  4. use App\Models\World;
  5. use Illuminate\Routing\Controller as BaseController;
  6. class Controller extends BaseController {
  7. public function json() {
  8. return ['message' => 'Hello, World!'];
  9. }
  10. public function db() {
  11. return World::find(random_int(1, 10000));
  12. }
  13. public function queries($queries = 1) {
  14. $queries = $this->clamp($queries);
  15. $rows = [];
  16. while ($queries--) {
  17. $rows[] = World::find(random_int(1, 10000));
  18. }
  19. return $rows;
  20. }
  21. public function fortunes() {
  22. $rows = Fortune::all();
  23. $insert = new Fortune();
  24. $insert->id = 0;
  25. $insert->message = "Additional fortune added at request time.";
  26. $rows->add($insert);
  27. $rows = $rows->sortBy("message");
  28. return view("fortunes", ["rows" => $rows]);
  29. }
  30. public function updates($queries = 1) {
  31. $queries = $this->clamp($queries);
  32. $rows = [];
  33. while ($queries--) {
  34. $row = World::find(random_int(1, 10000));
  35. $row->randomNumber = random_int(1, 10000);
  36. $row->save();
  37. $rows[] = $row;
  38. }
  39. return $rows;
  40. }
  41. public function plaintext() {
  42. return response("Hello, World!")->header('Content-Type', 'text/plain');
  43. }
  44. private function clamp($value): int {
  45. if (!is_numeric($value) || $value < 1) {
  46. return 1;
  47. } else if ($value > 500) {
  48. return 500;
  49. } else {
  50. return $value;
  51. }
  52. }
  53. }