BenchController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace Apps\Controllers;
  3. use Cygnite\Mvc\Controller\AbstractBaseController;
  4. use Apps\Models\Fortune;
  5. use Apps\Models\World;
  6. class BenchController extends AbstractBaseController
  7. {
  8. protected $templateEngine = false;
  9. public function __construct()
  10. {
  11. parent::__construct();
  12. }
  13. public function indexAction()
  14. {
  15. echo 'Hello World!';
  16. }
  17. public function dbAction($queries)
  18. {
  19. $worlds = $arr = array();
  20. $world = null;
  21. $flag = false;
  22. if (is_null($queries)) {
  23. $queries = 1;
  24. $flag = true;
  25. }
  26. $queries = intval($queries);
  27. if ($queries < 1) {
  28. $queries = 1;
  29. } elseif ($queries > 500) {
  30. $queries = 500;
  31. }
  32. for ($i = 0; $i < $queries; ++$i) {
  33. $world = World::find(mt_rand(1, 10000));
  34. $arr['id'] = (int) $world->id;
  35. $arr['randomNumber'] = (int) $world->randomnumber;
  36. $worlds[] = $arr;
  37. }
  38. if ($flag) {
  39. $worlds = $worlds[0];
  40. }
  41. header('Content-type: application/json');
  42. echo json_encode($worlds);
  43. }
  44. public function fortunesAction()
  45. {
  46. $fortuneCollection = array();
  47. $fortuneCollection = Fortune::all();
  48. $fortunes = $fortuneCollection->asArray();
  49. $runtimeFortune = new Fortune();
  50. $runtimeFortune->id = 0;
  51. $runtimeFortune->message = 'Additional fortune added at request time.';
  52. $fortunes[] = $runtimeFortune;
  53. usort($fortunes, function($left, $right) {
  54. if ($left->message === $right->message) {
  55. return 0;
  56. } else if ($left->message > $right->message) {
  57. return 1;
  58. } else {
  59. return -1;
  60. }
  61. });
  62. $this->render('fortunes', array(
  63. 'fortunes' => $fortunes
  64. ));
  65. }
  66. }