Bench.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * Created by JetBrains PhpStorm.
  4. * User: Skamander
  5. * Date: 11.04.13
  6. * Time: 17:33
  7. * To change this template use File | Settings | File Templates.
  8. */
  9. class Bench extends CI_Controller {
  10. public function json() {
  11. $this->output
  12. ->set_content_type('application/json')
  13. ->set_output(json_encode(array('message' => 'Hello, World!')));
  14. }
  15. public function db($queries = 1) {
  16. $worlds = array();
  17. $queries = is_numeric($queries) ? min(max($queries, 1), 500) : 1;
  18. for ($i = 0; $i < $queries; ++$i) {
  19. $worlds[] = $this->db
  20. ->query('SELECT * FROM World WHERE id = ?', array(mt_rand(1, 10000)))
  21. ->row();
  22. }
  23. if ($queries == 1) {
  24. $worlds = $worlds[0];
  25. }
  26. $this->output
  27. ->set_content_type('application/json')
  28. ->set_output(json_encode($worlds));
  29. }
  30. public function fortunes() {
  31. $fortunes = $this->db
  32. ->query('SELECT * FROM Fortune')
  33. ->result_array();
  34. $fortunes[] = array(
  35. 'id' => 0,
  36. 'message' => 'Additional fortune added at request time.'
  37. );
  38. usort($fortunes, function($left, $right) {
  39. if ($left['message'] === $right['message']) {
  40. return 0;
  41. } else if ($left['message'] > $right['message']) {
  42. return 1;
  43. } else {
  44. return -1;
  45. }
  46. });
  47. $this->load->view('fortunes', [
  48. 'fortunes' => $fortunes
  49. ]);
  50. }
  51. }