Bench.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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() {
  16. $worlds = $this->db
  17. ->query('SELECT * FROM World WHERE id = ?', array(mt_rand(1, 10000)))
  18. ->row();
  19. $this->output
  20. ->set_content_type('application/json')
  21. ->set_output(json_encode($worlds));
  22. }
  23. public function dbquery($queries = 1) {
  24. $worlds = array();
  25. $queries = is_numeric($queries) ? min(max($queries, 1), 500) : 1;
  26. for ($i = 0; $i < $queries; ++$i) {
  27. $worlds[] = $this->db
  28. ->query('SELECT * FROM World WHERE id = ?', array(mt_rand(1, 10000)))
  29. ->row();
  30. }
  31. $this->output
  32. ->set_content_type('application/json')
  33. ->set_output(json_encode($worlds));
  34. }
  35. public function fortunes() {
  36. $fortunes = $this->db
  37. ->query('SELECT * FROM Fortune')
  38. ->result_array();
  39. $fortunes[] = array(
  40. 'id' => 0,
  41. 'message' => 'Additional fortune added at request time.'
  42. );
  43. usort($fortunes, function($left, $right) {
  44. if ($left['message'] === $right['message']) {
  45. return 0;
  46. } else if ($left['message'] > $right['message']) {
  47. return 1;
  48. } else {
  49. return -1;
  50. }
  51. });
  52. $this->load->view('fortunes', [
  53. 'fortunes' => $fortunes
  54. ]);
  55. }
  56. }