BenchController.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace app\controllers;
  3. use lithium\action\Controller;
  4. use app\models\World;
  5. use app\models\Fortune;
  6. class BenchController extends Controller {
  7. public function plaintext() {
  8. return $this->render(array('text' => 'Hello, World!'));
  9. }
  10. public function json() {
  11. return $this->render(array(
  12. 'json' => array('message' => 'Hello, World!')
  13. ));
  14. }
  15. public function db() {
  16. $queries = isset($this->request->query['queries'])
  17. ? $this->request->query['queries']
  18. : 1;
  19. $queries = min(max(1, $queries), 500);
  20. $worlds = array();
  21. for ($i = 0; $i < $queries; ++$i) {
  22. $worlds[] = World::first(array(
  23. 'conditions' => array(
  24. 'id' => mt_rand(1, 10000)
  25. )
  26. ));
  27. }
  28. return $this->render(array(
  29. 'json' => $worlds
  30. ));
  31. }
  32. public function update() {
  33. $queries = isset($this->request->query['queries'])
  34. ? $this->request->query['queries']
  35. : 1;
  36. $queries = min(max(1, $queries), 500);
  37. $worlds = array();
  38. for ($i = 0; $i < $queries; ++$i) {
  39. $id = mt_rand(1, 10000);
  40. $random_number = mt_rand(1, 10000);
  41. $world = World::first(array(
  42. 'conditions' => array(
  43. 'id' => $id
  44. )
  45. ));
  46. $world->randomNumber = $random_number;
  47. $world->save();
  48. $worlds[] = $world;
  49. }
  50. return $this->render(array(
  51. 'json' => $worlds
  52. ));
  53. }
  54. public function fortunes() {
  55. $fortunes = Fortune::find('all')->to('array');
  56. $fortunes[] = array('id' => 0, 'message' => 'Additional fortune added at request time.');
  57. usort($fortunes, function($left, $right) {
  58. return strcmp($left['message'], $right['message']);
  59. });
  60. $this->set(['fortunes' => $fortunes]);
  61. return $this->render(array('layout' => false));
  62. }
  63. }