Bench.php 1.9 KB

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