BenchController.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace Apps\Controllers;
  3. use Cygnite\Mvc\Controller\AbstractBaseController;
  4. use Apps\Models\Fortune;
  5. class BenchController extends AbstractBaseController
  6. {
  7. public function __construct()
  8. {
  9. parent::__construct();
  10. }
  11. public function indexAction()
  12. {
  13. echo 'Hello World!';
  14. }
  15. public function plaintextAction()
  16. {
  17. header("Content-Type: text/plain;");
  18. echo 'Hello, World!';
  19. }
  20. public function jsonAction()
  21. {
  22. header('Content-type: application/json');
  23. echo json_encode(array('message'=>'Hello, World!'));
  24. }
  25. public function dbAction()
  26. {
  27. }
  28. public function fortunesAction()
  29. {
  30. $allFortunes = array();
  31. $allFortunes = Fortune::all();
  32. $fortunes = $allFortunes->asArray();
  33. $runtimeFortune = new Fortune();
  34. $runtimeFortune->id = 0;
  35. $runtimeFortune->message = 'Additional fortune added at request time.';
  36. $fortunes[] = $runtimeFortune;
  37. usort($fortunes, function($left, $right) {
  38. if ($left->message === $right->message) {
  39. return 0;
  40. } else if ($left->message > $right->message) {
  41. return 1;
  42. } else {
  43. return -1;
  44. }
  45. });
  46. $this->render('fortunes', array(
  47. 'fortunes' => $fortunes
  48. ));
  49. }
  50. }