bench.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. for ($i = 0; $i < $queries; ++$i) {
  18. $worlds[] = $this->db
  19. ->query('SELECT * FROM World WHERE id = ?', array(mt_rand(1, 10000)))
  20. ->row();
  21. }
  22. if ($queries == 1) {
  23. $worlds = $worlds[0];
  24. }
  25. $this->output
  26. ->set_content_type('application/json')
  27. ->set_output(json_encode($worlds));
  28. }
  29. public function fortunes() {
  30. $fortunes = $this->db
  31. ->query('SELECT * FROM Fortune')
  32. ->result_array();
  33. $fortunes[] = array(
  34. 'id' => 0,
  35. 'message' => 'Additional fortune added at request time.'
  36. );
  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->load->view('fortunes', [
  47. 'fortunes' => $fortunes
  48. ]);
  49. }
  50. }